zoukankan      html  css  js  c++  java
  • 新知识-Java Map.put(Leetcode 205)

    力扣205题——同构字符串

    代码

    class Solution {
        public boolean isIsomorphic(String s, String t) {
            HashMap<Object,Integer> map= new HashMap();
            Integer i = 0;
            for (; i < s.length(); i++) {
                if(map.put(s.charAt(i),i) != map.put(t.charAt(i)+"",i)) return false;
            }
            return true;
        }
    }
    

    我太菜了

    思路

    False:
    1.我一开始想用getOrdefault存放s和t的字符个数
    2.想通过>0的情况下判断2个String有无不同个数的字符个数
    True:
    1.完全不需要用map.put(s,map.getOrdefault(s,0)+1)来存放字符个数,直接for i找到下标用charAt(i)遍历就行了,哦吼吼我真菜!!!!
    2.可以直接用map<Character,Character>存放2个String的映射就行,然后用map的k-v解决就行了

    这里贴一个评论区大神的代码:

    class Solution {
        public boolean isIsomorphic(String s, String t) {
            if(s.length() != t.length()){
                return false;
            }
            
            HashMap<Character, Character> map = new HashMap<>();
            for(int i=0; i<s.length(); i++){
                if(!map.containsKey(s.charAt(i))){
                    if(map.containsValue(t.charAt(i))){
                        return false;
                    }
                    map.put(s.charAt(i), t.charAt(i));
                }else{
                    if(map.get(s.charAt(i))!=t.charAt(i)){
                        return false;
                    }
                }
            }
            
            return true;
        }
    }
    

    今日份收获:

    Map<Object,Integer> map
    map.put(s.charAt(i),i)显示:
    1.当map不存在映射时,返回null
    2.如果存在Key值,返回上一个Key值
    3.其实我没太弄懂,表述不好,评论区希望大佬补述一下详细,谢谢大佬!!

    Java打卡

  • 相关阅读:
    什么是webview
    juqery.fn.extend和jquery.extend
    LeetCode
    5. Longest Palindromic Substring
    42. Trapping Rain Water
    11. Container With Most Water
    621. Task Scheduler
    49. Group Anagrams
    739. Daily Temperatures
    3. Longest Substring Without Repeating Characters
  • 原文地址:https://www.cnblogs.com/husiyu/p/15125211.html
Copyright © 2011-2022 走看看