給定兩個字串 s 和 t,它們只包含小寫字母。
字串 t 由字串 s 隨機重排,然後在隨機位置新增乙個字母。
請找出在 t 中被新增的字母。
輸入:s = 「abcd」
t = 「abcde」
輸出:e
解釋:『e』 是那個被新增的字母。
先用hashmap統計t(t為較長的那個字串)的字母頻率,然後再遍歷s的字母,遇到乙個字母則把hashmap對應字母的頻率減一,最後剩下的那個就是答案。
public
class
problem389
else
}for
(int i=
0;ilength()
;i++
)return hashmap.
keyset()
.iterator()
.next()
;}public
static
void
main
(string[
] args)
}
a^0=a
a^a=0
(a^b)^c=a^(b^c)
在所有字母中,除了結果外的那個字母,其餘字母一定是成對的,所有把所有字母都進行異或,最後的結果就是答案。
public
class
problem389_2
a=a^t.
charat
(t.length()
-1);
return
(char
)a;}
public
static
void
main
(string[
] args)
}
LeetCode題解 389 找不同
瞧一瞧 求star 給定兩個字串 s 和 t,它們只包含小寫字母。字串 t 由字串 s 隨機重排,然後在隨機位置新增乙個字母。請找出在 t 中被新增的字母。示例 輸入 s abcd t abcde 輸出 e 解釋 e 是那個被新增的字母。思路 var findthedifference functi...
leetCode 389 找不同 簡單
給定兩個字串 s 和 t,它們只包含小寫字母。字串 t 由字串 s 隨機重排,然後在隨機位置新增乙個字母。請找出在 t 中被新增的字母。遍歷s中的字元進行計數,再遍歷t中的字元將對應的字元數量 如果t中乙個字元的數量為0那麼該字元為新增的字元。class solution for int i 0 i...
LeetCode389 找不同 查詢
查詢問題,最先想到map和set 一開始覺得用set即可,因為把s的內容存進去,對t進行遍歷,不在裡面的肯定就是新增加的了 public char findthedifference string s,string t char result for int i 0 i return result ...