zoukankan      html  css  js  c++  java
  • Leetcode题目:Isomorphic Strings

    题目:

    Given two strings s and t, determine if they are isomorphic.

    Two strings are isomorphic if the characters in s can be replaced to get t.

    All occurrences of a character must be replaced with another character while preserving the order of characters. No two characters may map to the same character but a character may map to itself.

    For example,
    Given "egg", "add", return true.

    Given "foo", "bar", return false.

    Given "paper", "title", return true

    题目解答:判断两个单词是否是同构的。需要两个map,分别控制s到t和t到s的映射关系。

    代码如下:

    class Solution {
    public:
        bool isIsomorphic(string s, string t) {
            if(s.length() != t.length())
                return false;
            map<char,char> map_st;
            map<char,char> map_ts;
            for(int i = 0;i < s.length();i++)
            {
                if((map_st.find(s[i]) == map_st.end())|| (map_ts.find(t[i]) == map_ts.end()))
                {
                    if(map_st.find(s[i]) != map_st.end())
                        return false;
                    else if(map_ts.find(t[i]) != map_ts.end())
                        return false;
                    else
                    {
                        map_st[s[i]] = t[i];
                        map_ts[t[i]] = s[i];
                    }
                }
                else
                {
                    if(map_st[s[i]] != t[i])
                        return false;
                }
            }
            return true;
        }
    };

  • 相关阅读:
    Contract
    VS.NET 发布 常识
    案例分析:培训合同与赔款事宜
    DNN最新资源,目前在学SAP,所以.Net的工作就停滞了。
    劳动争议处理依据劳动法
    开发网格应用程序<1>
    BI在中国成了装饰品
    VOIP侵蚀电信利益,未来最赚钱的行业.
    [转]个人知识管理-Web2.0技术下的一个热点
    [转]冲杯三鹿奶粉给你喝!
  • 原文地址:https://www.cnblogs.com/CodingGirl121/p/5417710.html
Copyright © 2011-2022 走看看