zoukankan      html  css  js  c++  java
  • [LeetCode] 205 Isomorphic Strings

    原题地址:
    https://leetcode.com/problems/isomorphic-strings/description/

    题目:

    解法一:

    记录s[i]到t[i]的映射,遍历到与已有的映射不同时,return false。

    同样地,记录t[i]到s[i]的映射,进行同样的操作即可。

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

    解法二:

        bool isIsomorphic(string s, string t) {
            int a[256] = {0}, b[256] = {0};
            for (int i = 0; i < s.size(); i++) {
                if (a[s[i]] != b[t[i]]) return false;
                a[s[i]] = i + 1;
                b[t[i]] = i + 1;
            }
            return true;
        }
    };
  • 相关阅读:
    property里的参数
    property关键字的理解
    OC与C语言的几点区别
    C语言学习心得
    QQ第三方<接口>
    为什么选择Redis
    版本控制器
    url传参及重定向
    开发的四个环境
    Paxos分析
  • 原文地址:https://www.cnblogs.com/fengziwei/p/8099004.html
Copyright © 2011-2022 走看看