原題位址
判斷是否是字母異位詞即判斷字串中是否只有字元的位置不同,也就是判斷兩個字串中包含的字元以及這些字元出現的次數是否相同
首先既然只有位置不同,那麼長度不同的字串必然不符合要求。**:將字串轉換為字元陣列之後對陣列進行排序,這兩個陣列中的元素必然全部相等
public
boolean
isanagram(string s, string t) else
}
在最後比較字串的時候還成直接遍歷陣列比較每乙個元素而不是轉換成字串比較,執行時間應該會縮短一些
題目提示只考慮小寫字母,那麼遍歷陣列記錄26個字母中每個字母的出現次數,只有兩個字串中對應的字元出現次數完全相同才滿足條件**如下:
public
boolean
isanagram(string s, string t)
for (char c : t.tochararray())
for (int i = 0; i < tintarray.length; i++)
}return
true;
}
針對這個**的建議:
只生成乙個中間陣列用來儲存字元出現的次數,在遍歷第乙個字元陣列時出現對應字元則+1,然後再遍歷第二個字元陣列時出現對應字元則-1,可以少建立乙個陣列。此處題目引用自leetcode,較好演算法引自leetcode執行時間最短的提交
有效的字母異位詞
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true示例 2 輸入 s rat t car 輸出 false說明 你可以假設字串只包含小寫字母。解 看到這個題,想到的就是判斷兩個字串中的字母及其數量是否...
有效的字母異位詞
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true 示例 2 輸入 s rat t car 輸出 false 說明 你可以假設字串只包含小寫字母。高階 如果輸入字串包含 unicode 字元怎麼辦?你...
有效的字母異位詞
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true示例 2 輸入 s rat t car 輸出 false說明 你可以假設字串只包含小寫字母 高階 如果輸入字串包含 unicode 字元怎麼辦?你能否...