題目:
在乙個字串中找到第乙個只出現一次的字元。如輸入abaccdeff,則輸出b。
解一:利用棧儲存外迴圈出現的字元,然後進行內迴圈遍歷。如果發現有重複的字元,則出棧,同時推出內迴圈。再取外迴圈下乙個字元壓棧,再進行內迴圈遍歷。如果內迴圈到結尾,棧中仍不為空,則此時棧中值即為所求。
/*title: 17.查詢第乙個只出現一次的字元
author: gocode
date: 2012-10-17*/
#include
#include
using
namespace
std;
char
findfirstchar(
char
a)
} if(j == length && !stack.empty())
// 內迴圈遍歷到尾部,此時沒有出棧,則棧中值為第一次出現的字元
break
; }
return
stack.empty()?
'n': stack.back();
} void
main()
; <
system("pause"
);
}
解二:統計每個字元出現的次數,儲存至另乙個陣列。然後遍歷該陣列,查詢第乙個值為
1的,則此值即為所求。
/*title: 17.查詢第乙個只出現一次的字元:解二
author: gocode
date: 2012-10-17*/
#include
#include
using
namespace
std;
char
solve(
const
string& s)
; memset(times, 0, sizeof
(times));
for(
size_t
i = 0; i < s.size(); ++i)
for(size_t
i = 0; i < s.size(); ++i)
} return
0;
} int
main()
關於Regex Replace只替換第乙個的問題
都知道正規表示式吧,老牛x老牛x的東西了,就是如果你長時間不用,可能很難入門,我也是,當時看的時候都明白了,用的時候也只是那麼一兩回,幾天不用,全忘光了,今天又遇到乙個這樣的問題,乙個關於regex.replace只替換第乙個的問題,記得在js裡用replace的時候就是只替換第乙個匹配的,沒辦法只...
查詢第乙個只出現一次的字元
這類題目用到的思想就是就用雜湊表,這樣把字串對應到乙個陣列,hashtable中。因為全部的字元總共有256個,因此建立乙個hashtable 256 演算法的過程是這樣的,首先遍歷一遍字串,根據字元的值來使得hashtable 字元 做統計,此字元出現一次,那麼對應的陣列元素加一。此時時間複雜度o...
演算法題 第乙個只出現一次的字元
在乙個字串 1 字串長度 10000,全部由字母組成 中找到第乙個只出現一次的字元,並返回它 思路 用set統計不同字元,並計算不同字元出現的次數,如果某個字元出現次數是1,就返回。class solution deffirstnotrepeatingchar self,s if len s 0 r...