2021年3月17日 星期三

[面試考題] 檢查變位字

考題: 給定兩個字串, 寫一個方法判斷一個是否是另一個的變位字


思維:造一個方法

1 先比較其長度是否相等

2 比較兩個值做順序排序, 內容是否會相等

順序排序:

a 產生一個字元char陣列

b使用Arrays.sort

c產生新的字串


public static void main(String[]args){
System.out.println(permutation("see","ese"));
}
static String sort(String s){
char[]content = s.toCharArray();
java.util.Arrays.sort(content);
return new String(content);
}

static boolean permutation(String s, String t){
if(s.length()!=t.length()){
return false;
}
return sort(s).equals(sort(t));
}


沒有留言:

張貼留言

[leetcode] [KMP] KMP

ABCDABD... ABCDABF... 簡單的說, 傳統解兩字串匹配部分 可能會來個雙迴圈, 哀個比對, 當不匹配的時候, 會將下方列再後移1位 然後不匹配再後移 然而 如果像上放已經有4個屬於匹配的字串, 她就應該直接往後移四位來匹配, 而不是只移動1位 隱藏的思維是, 當...