• leetcode-205-Isomorphic Strings


                                            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.

    Note:
    You may assume both s and t have the same length.


    两字符串有映射关系,即一一相应关系。

    如egg,add.

    e和a相应,g和d相应



    刚開始用的map

    class Solution {
    public:
        bool isIsomorphic(string s, string t) {
            int n =s.length();
            map<int,int>m1,m2;
            for (int i = 0;i < n;i++) {
                m1[s[i]] = t[i];
                m2[t[i]] = s[i];
            }
            for (int i = 0;i < n;i++) {
                if (m1[s[i]] != t[i]) return false; 
                if (m2[t[i]] != s[i]) return false;
            }
            return true;
        }
    };

    后来想,用一个数组也一样,并且效率高了不少

    class Solution {
    public:
        bool isIsomorphic(string s, string t) {
            int n =s.length();
            int m1[130] = {0},m2[130] = {0};
            for (int i = 0;i < n;i++) {
                m1[s[i]] = t[i];
                m2[t[i]] = s[i];
            }
            for (int i = 0;i < n;i++) {
                if (m1[s[i]] != t[i]) return false; 
                if (m2[t[i]] != s[i]) return false;
            }
            return true;
        }
    };




  • 相关阅读:
    内存问题定位与解决
    CPU问题定位与解决
    数据库优化案例——————某市中心医院HIS系统
    系统隐形杀手——阻塞与等待
    SQL Server常见问题介绍及快速解决建议
    CVTE实习感想--2014.10秋招
    Spring AOP的理解
    一些Java面试问题
    举几个大数据的例子
    Java中乐观锁与悲观锁的实现
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6849998.html
Copyright © 2020-2023  润新知