标签:
[题目]
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 Explanation: ‘e‘ is the letter that was added.
[题目解析] 根据题意,字符串中只含有小写字母,则可以用一个26位的数组表示map结构,记录对应字符串的字符和出现次数。如下。
public char findTheDifference(String s, String t) {
int[] hash = new int[26];
char[] sarray = s.toCharArray();
char[] tarray = t.toCharArray();
for(int i = 0; i < s.length(); i++){
int num = sarray[i] - ‘a‘;
hash[num]++;
}
for(int i = 0; i < t.length(); i++){
int tnum = tarray[i] - ‘a‘;
hash[tnum]--;
if(hash[tnum] < 0){
return (char) ((char)tnum+‘a‘);
}
}
return ‘-‘;
}
[LeetCode] NO. 389 Find the Difference
标签:
原文地址:http://www.cnblogs.com/zzchit/p/5837256.html