leetcode 242 有效的字母異位詞
阿新 • • 發佈:2018-12-05
給定兩個字串 s 和 t ,編寫一個函式來判斷 t 是否是 s 的一個字母異位詞。
示例 1:
輸入: s = "anagram", t = "nagaram" 輸出: true
示例 2:
輸入: s = "rat", t = "car" 輸出: false
public boolean isAnagram (String s, String t){ //建立一個char ascii的陣列對應表 int[] charsMap = new int['z' - 'a' + 1]; //遍歷陣列 for (char c : s.toCharArray()) { //取減去97後的碼值 int pos = c - 'a'; //將對應位置的陣列值+1,預設為0 charsMap[pos]++; } for (char c : t.toCharArray()) { int pos = c - 'a'; //同理將對應位置的陣列值-1 charsMap[pos]--; } //如果兩個字串相等,那麼其對應碼值上的陣列值應為0 //比如s字串中有a,那麼在對應數組裡的對應位置+1, //如果t字串中也有a,那麼陣列對應的位置就應該-1,最後變成0 for (int count : charsMap) { if (count != 0) { return false; } } return true; }