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: e
第一种方法:使用java自带的contains函数 在string内对比查看单个字符是否出现过
public char findTheDifference(String s, String t) { for(int i =0;i<t.length;i++){ if(!s.contains(String.valueOf(t.toCharAt[i]))){ return t.toCharAt[i]; } } return0;
第二种方法:统计两个字符串中字母出现的次数
public char findTheDifference(String s, String t) {
int count1[] = new int[26];
<pre name="code" class="java" style="color: rgb(102, 102, 102); font-size: 15px; line-height: 26px;"> int count2[] = new int[26];
for(int i =0;i<t.length;i++){
count1[t.toCharAt[i]-'a']++;
}
<pre name="code" class="java" style="color: rgb(102, 102, 102); font-size: 15px; line-height: 26px;"><pre name="code" class="java">for(int i =0;i<s.length;i++){
count2[s.toCharAt[i]-'a']++;
}
for(i=0;i<26;i++){
if(count1[i]!=count2[i]<span style="font-family: 'Microsoft YaHei'; white-space: pre-wrap;">){</span>
<span style="font-family:Microsoft YaHei;"><span style="white-space: pre-wrap;">return (char) 'a'+i ;</span></span>
<span style="font-family:Microsoft YaHei;"><span style="white-space: pre-wrap;">}</span></span>
<span style="font-family:Microsoft YaHei;"><span style="white-space: pre-wrap;">return 0;</span></span>
<span style="font-family:Microsoft YaHei;"><span style="white-space: pre-wrap;">}</span></span>
第三种方法 :使用异或
public char findTheDifference(String s, String t) {
char tmp = 0x00;
for(int i=0;i<s.length();i++)
tmp =(char)( tmp ^ s.charAt(i));
for(int i=0;i<t.length();i++)
tmp = (char)(tmp ^ t.charAt(i));
return tmp;
}