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;
        }
    };




  • 相关阅读:
    CSS3的box-sizing属性
    html5 --基础笔记2
    html5--基础笔记
    CSS3--阴影,渐变,背景图片
    响应式布局--流式布局
    angular中的this指向问题
    angular中控制器之间的通讯方式
    angular中的$http配置和参数
    console
    h5表单验证的css和js方法
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6849998.html
Copyright © 2011-2022 走看看