zoukankan      html  css  js  c++  java
  • 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;
        }
    };




  • 相关阅读:
    C#操作符??和?:
    使用Windows8开发Metro风格应用一
    使用Windows8开发Metro风格应用二
    Win8使用技巧
    详解 xls xlst xml 一
    SqlDataAdapter DataSet DataTable 详解
    DataSet 与 xml
    FileTracker : error FTK1011编译错误
    我的CHROME插件
    Komodo升级错误
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6849998.html
Copyright © 2011-2022 走看看