一、题目描述
题目原文:
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.
(给两个小写字符串s和t,t是由s打乱顺序后再在随机位置添加一个字母产生的,请输出添加的字母)
二、题目分析
思路:用python列表的内置函数list.count(parameter)为分别为两个字符串的每个字母计数,再比较返回值,
若一样则该字母非添加进来的那个,否则该字母即为我们要找的字母。
(用have_done列表存放已经判断过的元素,避免重复判断,用于优化)
三、Python代码
class Solution(object):
def findTheDifference(self, s, t):
"""
:type s: str
:type t: str
:rtype: str
"""
have_done = []
for i in range(0, len(t)):
if t[i] not in have_done:
if t.count(t[i]) == s.count(t[i]):
pass
else:
return t[i]
have_done.append(t[i])
else:
continue
四、其他
题目链接:https://leetcode.com/problems/find-the-difference/
Runtime: 42 ms
想法不够优化,欢迎大家留言交流~