• LeetCode:Isomorphic Strings


    problem:

    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.

    solution:这道题木实则判断两个字符串是否为同构字符串。只要保证s t 互相都映射成功,用unordered_map 来记录它们之间的相互映射

    class Solution {
    public:
        bool isIsomorphic(string s, string t) {
            if(s.size()!=t.size())
                return false;
                
            unordered_map<char,char> datamap;
            for(int i=0;i<s.size();i++)
            {
               if(datamap.find(s[i])==datamap.end()) 
                    datamap[s[i]]=t[i];
               else if(datamap[s[i]]!=t[i])
                    return false;
            }
            datamap.clear();
    for(int i=0;i<t.size();i++) { if(datamap.find(t[i])==datamap.end()) datamap[t[i]]=s[i]; else if(datamap[t[i]]!=s[i]) return false; } } };
  • 相关阅读:
    梦断代码阅读笔记
    程序员的自我修养阅读笔记
    11月总结3
    11月总结3
    程序员的自我修养阅读笔记
    程序员的自我修养阅读笔记
    程序员的自我修养阅读笔记
    程序员的自我修养阅读笔记
    第十四周总结
    第十三周总结
  • 原文地址:https://www.cnblogs.com/xiaoying1245970347/p/4612557.html
Copyright © 2020-2023  润新知