面試題 01 02 判定是否互為字元重排

2021-10-04 13:11:09 字數 613 閱讀 6131

題目: 

給定兩個字串 s1 和 s2,請編寫乙個程式,確定其中乙個字串的字元重新排列後,能否變成另乙個字串。

示例 1:

輸入: s1 = "abc", s2 = "bca"

輸出: true 

示例 2:

輸入: s1 = "abc", s2 = "bad"

輸出: false

說明:

0 <= len(s1) <= 100

0 <= len(s2) <= 100

解題思路:

1.借助輔助陣列,大小為ascii碼的範圍,陣列的初始值為0

2.遍歷字串s1,記錄各元素出現的次數

3.遍歷字串s2,如果當前元素在陣列中的值為0,表示在s1中未出現過,則返回false;反之,則將此元素的個數減1

4. s2遍歷結束,則返回true

**實現:

class solution ;

for(int i=0;i執行占用的記憶體和耗時情況:

力扣面試題 判定是否互為字元重排

示例 1 輸入 s1 abc s2 bca 輸出 true 示例 2 輸入 s1 abc s2 bad 輸出 false 說明 0 len s1 100 0 len s2 100 與上乙個面試題的第二種解題方式類似,首先判斷兩個字串長度是否相同,如果長度都不相同就不可能是了。接著定義乙個大小為26的...

判定是否互為字元重排

題目描述 給定兩個字串 s1 和 s2,請編寫乙個程式,確定其中乙個字串的字元重新排列後,能否變成另乙個字串。示例1 輸入 s1 abc s2 bca 輸出 true 示例2 輸入 s1 abc s2 bad 輸出 false 根據題目的描述,我的思路就是 比較s1和s2的每個相同字母是數量,如果每...

面試題 01 01 判定字元是否唯一

實現乙個演算法,確定乙個字串 s 的所有字元是否全都不同。此題首先可以問一下是否為ascii字元還是unicode字元。對於ascii字元來說最多就256個字元,因此,如果大於256在false。自己解 bool isunique string astr return true 金典解 bool i...