找不同(Java)

题目

给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。

思想

和求一个数组中只有一个数字出现一次,其他的都出现两次的那个题一样,只要将所有的字符异或起来得到的就是出现一次的那个字符了

代码

class Solution {
    public char findTheDifference(String s, String t) {        
        char a =0;        
        for(int i = 0 ; i < s.length() ; i++){            
            a^=s.charAt(i);           
        }        
        for(int i = 0 ; i < t.length() ; i++){        
            a^=t.charAt(i);       
        }        
        return a;            
    }
}
发布了35 篇原创文章 · 获赞 2 · 访问量 954

猜你喜欢

转载自blog.csdn.net/y18771025420/article/details/103434241