给定两个字符串 s
和 t
,它们只包含小写字母。
字符串 t
由字符串 s
随机重排,然后在随机位置添加一个字母。
请找出在 t
中被添加的字母。
示例 1:
输入:s = "abcd", t = "abcde" 输出:"e" 解释:'e' 是那个被添加的字母。
示例 2:
输入:s = "", t = "y" 输出:"y"
提示:
0 <= s.length <= 1000
t.length == s.length + 1
s
和t
只包含小写字母
思路:t和s中都是相同的字母,t比s多一个字母,首先对两个字符串都排序,这样一来所有相同的字母应该都出现在同一个位置上,然后可以用一个指针index去遍历,若相同则比下一个位置,不同的话t中的字符就是新加的字符。
代码(Python):
class Solution(object):
def findTheDifference(self, s, t):
s = sorted(s) #对s排序
t = sorted(t) #对t排序
index = 0
while index < len(s):
if s[index] == t[index]: #如果该位置字母相同,比较下一个
index += 1
else:
return t[index]
return t[len(t)-1] #若前面的字母都相同,则t的最后一个字母是新加的