leetcode 判斷字串是否為字元重排

2022-06-08 04:12:07 字數 923 閱讀 7565

今天刷的是offer題:判斷兩個字串是否為字元重排

由於時間原因,我最先想到的是遍歷第乙個字串,然後從第二個字串中每次刪除第乙個字串中遍歷的字元,如果最後剩下的是空串則返回true,否則返回false。

**如下:

1

class

solution

10else

if(size1!=size2)

1114

else

1524

else

252829}

30}31return

true;32

33}34 };

提交後正確通過,但是時間複雜度太高。

於是想到可以把兩個字串只遍歷一遍,然後統計每個字元出現的次數這種方法。 

**如下:

1

class

solution

11else

if(size1!=size2)

1215

else

16;//

用來儲存每個字元的出現次數

18//

遍歷字串1,統計每個字元出現的次數

19for(int i=0;i)

2024

//遍歷字串2,每次在陣列中對應元素減1

25for(int i=0;i)

2633}34

}35return

true;36

37}38 };

結果時間複雜度只有n,提交結果如下:

字串 判斷是否

字串判斷的所有 isdigit 是否全是數字 isalpha 是否全是由字母組成 返回true isalnum 是否由字母和數字組成 islower 是否都是小寫字母 isupper 是否都是大寫字母 istitle 是否英文本母首字母都是大寫 isalpha 是否全是英文 中文的漢字會被判為tru...

判斷字串 python判斷字串是否包含字母

第一種方法 使用正規表示式判斷字串是否包含字母 coding utf 8 import re def check str my re re.compile r a za z re.s res re.findall my re,str if len res print u 含有英文本元 else pr...

leetcode 判斷旋轉字串

給定s1 aabcd和s2 bcdaa,返回1,給定s1 abcd和s2 acbd,返回0.拿到題目,經過思考其實我們可以將題目的思路轉化為,將s1每次旋轉一次來和s2比較大小,相同則返回1,不同則返回0,將s1旋轉strlen s1 次即可完成比較,這裡其實大家不用考慮左旋還是右旋的問題,因為旋轉...