Leetcode205.同構字串
阿新 • • 發佈:2020-12-27
題目連結:205.同構字串
程式碼:
class Solution { public boolean isIsomorphic(String s, String t) { if(s.length() != t.length()) return false; char[] map = new char[128]; int[] set = new int[128]; for(int i=0; i<s.length(); i++){ if(map[s.charAt(i)] != '\0' && map[s.charAt(i)] != t.charAt(i)){ return false; } if(map[s.charAt(i)] == '\0' && set[t.charAt(i)] == 1){ return false; } map[s.charAt(i)] = t.charAt(i); set[t.charAt(i)] = 1; } return true; } }
筆記:
- 輸入資料只侷限於字串,那麼可以直接使用長度為128的陣列對輸入的字元進行儲存。使用集合類會影響速度,將集合類改為陣列後,執行時間變化為22ms -> 11ms。
- 事實證明,直接訪問陣列比使用集合類的操作來得更快。將輸入的字串改為字元陣列
char[] ss = s.toCharArray();
後,執行時間變化為11ms->4ms。