解法一:二進(jìn)制運(yùn)算題目描述:給定兩個(gè)字符串 s 和 t,它們只包含小寫(xiě)字母。
字符串 t 由字符串 s 隨機(jī)重排,然后在隨機(jī)位置添加一個(gè)字母。
請(qǐng)找出在 t 中被添加得字母。
示例說(shuō)明請(qǐng)見(jiàn)LeetCode自己。
近日:力扣(LeetCode)
鏈接:感謝分享leetcode-cn感謝原創(chuàng)分享者/problems/find-the-difference/
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)感謝請(qǐng)聯(lián)系自家授權(quán),非商業(yè)感謝請(qǐng)注明出處。
異或運(yùn)算:如果a、b兩個(gè)值不相同,則異或結(jié)果為1。如果a、b兩個(gè)值相同,異或結(jié)果為0。 所以如果a、b是2個(gè)相同得數(shù),則異或得結(jié)果肯定是0。
具體處理過(guò)程如下:
public class LeetCode_380 { public static char findTheDifference(String s, String t) { if (s == null || s.length() == 0) { return t.charAt(0); } int x = 0; for (int i = 0; i < s.length(); i++) { x ^= s.charAt(i); x ^= t.charAt(i); } x ^= t.charAt(t.length() - 1); return (char) x; } public static void main(String[] args) { System.out.println(findTheDifference("abcd", "abcde")); }}
【每日寄語(yǔ)】 今天得成績(jī)是昨天得汗水,明天得成功還須今天得努力。