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

    思路:创建两个map,进行匹配。

     1 class Solution {
     2 public:
     3     bool isIsomorphic(string s, string t) {
     4         if (s.size() != t.size()) return false;
     5         map<char, int> sdict, tdict;
     6         for (int i = 0, n = s.size(); i < n; i++)
     7         {
     8             if (sdict[s[i]] != tdict[t[i]])
     9                 return false;
    10             sdict[s[i]] = tdict[t[i]] = i + 1;
    11         }
    12         return true;
    13     }
    14 };
  • 相关阅读:
    Python学习 :面向对象 -- 三大特性
    Python学习 :面向对象(一)
    小米oj #40 找小“3”
    第三次作业
    排序算法模板
    树状数组求逆序数
    最短路模板
    字典树模板
    LCS
    多项式朴素乘法
  • 原文地址:https://www.cnblogs.com/fenshen371/p/4908182.html
Copyright © 2011-2022 走看看