给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。
示例:
输入: s = "abcd" t = "abcde" 输出: e 解释: 'e' 是那个被添加的字母。
解法:
JAVA
思想:
1.先对两字符串进行排序;
2.再将两个字符串转化为字符数组;
3.以字符s的长度作为循环次数,对两个字符数组进行匹配比较,如果相同继续循环;不同则返回t中不同的字符
4.假如循环结束还未匹配完成,则返回t中最后一个字符
class Solution { public char findTheDifference(String s, String t) { char[] s1 = s.toCharArray(); char[] t1 = t.toCharArray(); Arrays.sort(s1); Arrays.sort(t1); for(int i=0;i<s1.length;i++){ if(s1[i]!=t1[i]) return t1[i]; } return t1[t1.length-1]; } }