一、题目描述
题目原文:
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
想法不够优化,欢迎大家留言交流~