首页 > 代码库 > 389. Find the Difference
389. Find the Difference
Given two strings s and t which consist of only lowercase letters.
String t is generated by random shuffling string s and then add one more letter at a random position.
Find the letter that was added in t.
Example:
Input:s = "abcd"t = "abcde"Output:eExplanation:‘e‘ is the letter that was added.
思路:sort一下char array,然后从头比较是不是char一样,如果都一样。那就是t的最后一个字母。
public class Solution { public char findTheDifference(String s, String t) { char[] schar=s.toCharArray(); char[] tchar=t.toCharArray(); Arrays.sort(schar); Arrays.sort(tchar); for(int i=0;i<schar.length;i++) { if(schar[i]!=tchar[i]) { return tchar[i]; } } return tchar[tchar.length-1]; }}
Solution2: 用xor X^X=0; X^0=X
两个string全部char xor之后最后肯定剩X^0=X就是我们想要的。
public class Solution { public char findTheDifference(String s, String t) { char c=0; for(int i=0;i<s.length();i++) { c^=s.charAt(i); c^=t.charAt(i); } c^=t.charAt(t.length()-1); return c;}}
389. Find the Difference
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。