Given a pattern and a string str, find if str follows the same pattern.
Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in str.
class Solution {
public boolean wordPattern(String pattern, String str) {
char[] pat = pattern.toCharArray();
String[] arr = str.split(" ");
if(pat.length != arr.length) return false;
for(int j = 0 ; j < pat.length-1; j++) {
for(int i = j+1 ; i < pat.length ; i++) {
if((pat[i] == pat[j] && !arr[i].equals(arr[j])) || (pat[i] != pat[j] && arr[i].equals(arr[j]))) return false;
}
}
return true;
}
}
今天做了一道easy的題,卻被一個知識點卡住了。
那就是判斷String字符串是否相等。我一開始 判斷 是通過 arr[i] == arr[j],這個是肯定不會相等的,因爲這裏其實比較的是地址值,而他們的地址值是肯定不相同的。
我又看了看String字符串的比較問題,java很多知識點都忘了呀!
java中String的相等判斷(==和equals())詳解
java中String相等的判斷