今天和大家聊的问题叫做 找不同,我们先来看题面:https://leetcode-cn.com/problems/find-the-difference/
You are given two strings s and t.
String t is generated by random shuffling string s and then add one more letter at a random position.
Return the letter that was added to t.
给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。
示例
示例 1: 输入:s = "abcd", t = "abcde" 输出:"e" 解释:'e' 是那个被添加的字母。 示例 2: 输入:s = "", t = "y" 输出:"y" 示例 3: 输入:s = "a", t = "aa" 输出:"a" 示例 4: 输入:s = "ae", t = "aea" 输出:"a"
解题
主要思路:
将两个字符串按照字母序进行排序,然后从头开始遍历,找出第一个不相等的元素即为所求。
class Solution { public: char findTheDifference(string s, string t) { sort(s.begin(),s.end()); sort(t.begin(),t.end()); int i=0; while(s[i]==t[i]){ i++; } return t[i]; } };
好了,今天的文章就到这里,如果觉得有所收获,请顺手点个在看或者转发吧,你们的支持是我最大的动力 。