劍指offer 第乙個只出現一次的字元

2021-08-21 03:30:24 字數 494 閱讀 4246

在乙個字串(1<=字串長度<=10000,全部由字母組成)中找到第乙個只出現一次的字元,並返回它的位置

我們遍歷這個字串,假設每個當前字元都是只出現一次的,我們分別向前和向後考察是否存在相同字元

向前考察:儲存乙個vector裡面存放所有已知的已經重複過的字元,如果當前字元跟這個vector裡面的字元相同,那必然不是只出現一次的

向後考察:遍歷當前字元後面的字元,如果出現跟當前字元相同的,立即停止,將當前字元加入vector中,接著work on下乙個字元

向前和向後考察都通過了,立即return 該字元的位置,演算法結束

#include

class solution

}return

false;

}int firstnotrepeatingchar(string str)

}if(isunique)

}return -1;

}};

劍指offer 第乙個只出現一次的字元

在乙個字串 0 字串長度 10000,全部由字母組成 中找到第乙個只出現一次的字元,並返回它的位置,如果沒有則返回 1.將字串轉化成陣列,兩個迴圈,外層迴圈遍歷這個陣列i,內層迴圈也是從0 開始遍歷j,判斷i對應的元素和j對應的元素是否相等,相等的話就說明不是要求的位置,直接開始判斷下乙個元素i p...

劍指offer 第乙個只出現一次的字元

在乙個字串 0 字串長度 10000,全部由字母組成 中找到第乙個只出現一次的字元,並返回它的位置,如果沒有則返回 1 需要區分大小寫 我的思路 第一次遍歷string,用乙個map記錄每個字元出現的次數 第二次遍歷map,找到次數為1的字元 第三次遍歷string,找到該字元出現的位置。問題 ma...

劍指offer 第乙個只出現一次的字元

問題 在乙個字串 0 字串長度 10000,全部由字母組成 中找到第乙個只出現一次的字元,並返回它的位置,如果沒有則返回 1 需要區分大小寫 我們的目的是從一串字元中找到第乙個只出現一次的字元,對於這種問題沒有好的方法,就是先遍歷一遍字串使用字典統計每個字元的個數,最重要的是使用queue這樣乙個l...