零基础刷力扣,第二道题就给我难住了。
389.找不同
给定两个字符串
s和t,它们只包含小写字母。字符串
t由字符串s随机重排,然后在随机位置添加一个字母。请找出在
t中被添加的字母。
一开始这么写出来:
1 | char findTheDifference(char* s, char* t) { |
但是有一套值死活过不去:
s = {“a”}, t = {“a”,”a”}
之后去解题区发现了个解法惊为天人:
1 | char findTheDifference(char * s, char * t){ |
声明两个变量,分别把集合中的字符以 ASCII 码形式存储在变量中(隐式类型转换),二者之差即是集合相差字符的 ASCII 码。
这玩意我怎么想不到。