zoukankan      html  css  js  c++  java
  • 205. Isomorphic Strings

    原题链接:https://leetcode.com/problems/isomorphic-strings/description/
    这是一道有意思的题目哦:

    /**
     * Created by clearbug on 2018/2/26.
     */
    public class Solution {
    
        public static void main(String[] args) {
            Solution s = new Solution();
            /**
             * For example,
             Given "egg", "add", return true.
    
             Given "foo", "bar", return false.
    
             Given "paper", "title", return true.
             */
            System.out.println(s.isIsomorphic("aa", "ab"));
            System.out.println(s.isIsomorphic("egg", "add"));
            System.out.println(s.isIsomorphic("foo", "bar"));
            System.out.println(s.isIsomorphic("paper", "title"));
        }
    
        /**
         * 讨论区某位大神的答案,确实简介无比啊!这道题目虽然不难,但是我并没有写出完整的实现。然后我又看了下 Related Topics,里面提到了
         * HashTable,现在才明白,这哥们的实现就是类似哈希表的思路啊,看来哈希表这种东西不单纯是一种数据结构,灵活运用可以解决很多问题啊!
         *
         * @param s
         * @param t
         * @return
         */
        public boolean isIsomorphic(String s, String t) {
            if (s == null || t == null || s.length() != t.length()) {
                return false;
            }
    
            int[] m1 = new int[256], m2 = new int[256];
            int n = s.length();
            for (int i = 0; i < n; i++) {
                if (m1[s.charAt(i)] != m2[t.charAt(i)]) {
                    return false;
                }
                m1[s.charAt(i)] = i + 1;
                m2[t.charAt(i)] = i + 1;
            }
    
            return true;
    
        }
    
    }
    
  • 相关阅读:
    关于js中this的指向问题
    关于css垂直水平居中的几种方法
    个人第一个jquery插件(tips)
    css3实现虚拟三角形
    js-关于唯一ID的创建
    面试题
    new Promise()
    JSON.parse()、JSON.stringify()和eval()的作用
    vue-router路由导航
    NodeJS
  • 原文地址:https://www.cnblogs.com/optor/p/8698256.html
Copyright © 2011-2022 走看看