本文共 944 字,大约阅读时间需要 3 分钟。
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:eExplanation:'e' is the letter that was added.
思路:比较两个字符串中新添加的字符(字符顺序可能不同)。最开始想法是利用两个字符串的Counters直接相减,返回不同:
from collections import Counterclass Solution: def findTheDifference(self, s, t): """ :type s: str :type t: str :rtype: str """ dic1 = Counter(s) dic2 = Counter(t) return(list(dic2-dic1)[0])
又想到两个字符串除了一个字符不同,剩下全都一致,那么两个字符串加起来,只有这一个多添加的字符个数为奇数。方法有很多。
from collections import Counterclass Solution: def findTheDifference(self, s, t): """ :type s: str :type t: str :rtype: str """ dic = Counter(s+t) for k,v in dic.items(): if v%2 !=0 : return k
转载地址:http://pprbb.baihongyu.com/