Find the Difference问题及解法

来源:互联网 发布:centos 桌面图标创建 编辑:程序博客网 时间:2024/05/29 19:34

问题描述:

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.

示例:

Input:s = "abcd"t = "abcde"Output:eExplanation:'e' is the letter that was added.
问题分析:

题目要求出两个字符串之间唯一一个不同的字符。可以用位运算,也可以用hashtable。下面是我用hashtable的解法:

class Solution {public:    char findTheDifference(string s, string t) {        vector<int> mapping(256,0);        char res = ' ';        for(int i = 0; i < s.length(); i++)        {        mapping[s[i]]++;}for(int i = 0; i < t.length(); i++)        {        if(mapping[t[i]]-- == 0)         {        res = t[i];        break;}}return res;    }};


0 0
原创粉丝点击