查詢一個字串中第一個重複出現的字元(C++)


假設我們有一個字串,我們需要找到第一個重複出現的字元。如果字串是"Hello Friends",第一個重複出現的字元將是 l。因為有兩個 l 連在一起。

為解決此問題,我們將使用雜湊技術。建立一個雜湊表,逐一掃描各個字元,如果字元不在其中,則插入雜湊表,如果字元已存在,則返回該字元。

示例

 即時示例

#include<iostream>
#include<unordered_set>
using namespace std;
char getFirstRepeatingChar(string &s) {
   unordered_set<char> hash;
   for (int i=0; i<s.length(); i++) {
      char c = s[i];
      if (hash.find(c) != hash.end())
         return c;
      else
         hash.insert(c);
   }
   return '\0';
}
int main () {
   string str = "Hello Friends";
   cout << "First repeating character is: " << getFirstRepeatingChar(str);
}

輸出

First repeating character is: l

更新於: 18-Dec-2019

347 檢視

開啟你的 事業

透過完成課程來獲得認證

開始吧
廣告
© . All rights reserved.