zoukankan      html  css  js  c++  java
  • [LeetCode]50. Valid Anagram有效变位词

    Given two strings s and t, write a function to determine if t is an anagram of s.

    For example,
    s = "anagram", t = "nagaram", return true.
    s = "rat", t = "car", return false.

    Note:
    You may assume the string contains only lowercase alphabets.

    Follow up:
    What if the inputs contain unicode characters? How would you adapt your solution to such case?

    Subscribe to see which companies asked this question

    解法:很简单的一道题。因为题目限定字符在26个小写字母之间,因此以vector作为Hash Table,分别统计两个字符串字母出现次数,然后再比较即可。

    class Solution {
    public:
        bool isAnagram(string s, string t) {
            int ss = s.size(), ts = t.size();
            if(ss != ts) return false;
            vector<int> v1(26, 0), v2(26, 0);
            for(int i = 0; i < ss; ++i)
            {
                ++v1[s[i] - 'a'];
                ++v2[t[i] - 'a'];
            }
            for(int i = 0; i < 26; ++i)
                if(v1[i] != v2[i]) return false;
            return true;
        }
    };
  • 相关阅读:
    团队展示&选题
    结对编程(JAVA实现)
    wc项目(node.js实现)
    复审与事后分析
    事后诸葛亮分析报告
    Alpha阶段项目复审
    测试与发布
    Scrum 冲刺第五篇
    Scrum 冲刺第一篇
    项目冲刺
  • 原文地址:https://www.cnblogs.com/aprilcheny/p/4927355.html
Copyright © 2011-2022 走看看