LeetCode

链接

389. Find the Difference

题意

给定字符串s和t,t的生成是根据s中字母的乱序再向其中任意一个位置插入一个任意字母。找出这个字母。

思路

其实思路和之前一道题一样,只是将数字换成了字母。详见(http://www.cnblogs.com/zyoung/p/6587433.html)
另外,s+t时,那些重复的字母数肯定是2的倍数,所以用异或可行。

代码

Java:

public class Solution {
    public char findTheDifference(String s, String t) {
        s = s + t;
        char[] arr = s.toCharArray();
        for (int i = 1; i < arr.length; i++) {
            arr[0] ^= arr[i];
        }
        return arr[0];
    }
}

效率

Your runtime beats 42.56% of java submissions.

原文地址:https://www.cnblogs.com/zyoung/p/6664062.html