【LeetCode 389】 关关的刷题日记30 Find the Difference

关关的刷题日记30 – Leetcode 389. Find the Difference

题目

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: e

Explanation: 'e' is the letter that was added.

题目的意思是给定两个字符串s和t,t是在s的基础上随机加了个字符,让找出该字符。

思路

思路:建一个map,key存字符s的每个字符,value存该字符的数量。然后遍历t的每个字符,将对应的map中该字符数量减1,最终map中哪个key对应的value值为-1,就是所求结果。写的时候要注意语法,范围for作用在map上的时候,注意map中的每个元素是pair,所以要用auto。

class Solution {public:
    char findTheDifference(string s, string t) {
        map<char,int>m;
        for(char x:s)
        {
            m[x]++;              
        }
        for(char y:t)
        {
            m[y]--;
        }
        for(auto z:m)
        {
            if(z.second==-1)
                return z.first;
        }
        return NULL;
    }};

人生易老,唯有陪伴最长情,加油!

以上就是关关关于这道题的总结经验,希望大家能够理解,有什么问题可以在我们的专知公众号平台上交流或者加我们的QQ专知-人工智能交流群 426491390,也可以加入专知——Leetcode刷题交流群(请先加微信小助手weixinhao: Rancho_Fang,注明Leetcode刷题)。

原文发布于微信公众号 - 专知(Quan_Zhuanzhi)

原文发表时间:2017-11-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏web前端教室

学js少看书肯定是不成的,要多看。

今天下午在逛街的时候,脑子里突然蹦出一段代码,很简单, function abc(){ this.aa = 123; this.xx = function(...

24590
来自专栏专知

【LeetCode 20】关关的刷题日记45 – Valid Parenthese

关关的刷题日记45 – Leetcode 20. Valid Parenthese 题目 Given a string containing just the ...

35670
来自专栏IT 指南者专栏

Java 数据结构与算法系列之冒泡排序

相信大部分同学都已经学过数据结构与算法这门课了,并且我们可能都会发现一个现象就是我们所学过的数据结构与算法类的书籍基本都是使用 C 语言来写的,好像没见过使用 ...

16760
来自专栏移动开发面面观

排序备忘

排序是算法的一项基础能力,也是面试必考题。如何写一个恰当的排序,也是一个软件工程师的基本必备技能。

7810
来自专栏专知

【 关关的刷题日记46】Leetcode 28. Implement strStr()

关关的刷题日记46 – Leetcode 28. Implement strStr() 题目 Implement strStr(). Returns the i...

35690
来自专栏专知

【LeetCode 14】关关的刷题日记44 – Longest Common Prefix

关关的刷题日记44 – Leetcode 14. Longest Common Prefix 题目 Write a function to find the l...

34560
来自专栏专知

【LeetCode 242】 关关的刷题日记36 Valid Anagram

关关的刷题日记36 – Leetcode 242. Valid Anagram 题目 Given two strings s and t, write a fu...

36390
来自专栏desperate633

LeetCode 121. Best Time to Buy and Sell Stock题目Solution

假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。 样例 给出一...

9430
来自专栏专知

【LeetCode 136】 关关的刷题日记34 Intersection of Two Arrays II

关关的刷题日记34 – Leetcode 350. Intersection of Two Arrays II 题目 Given two arrays, wri...

28080
来自专栏企鹅号快讯

面向对象的初步理解连载 7

面向对象是一种主流的编程思维,其核心是把现实世界中的对象,对象之间的关系模拟到程序世界中,构造一个软件系统。 Java 是一种典型的面向对象编程语言。这篇文章主...

21590

扫码关注云+社区

领取腾讯云代金券