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打卡

  • 相关阅读:
    跨域 CORS 详解 (转)
    手机自动化(一)
    Appium Desktop-Permission to start activity denied.
    webview元素定位
    电商网站测试点 还需要整理
    性能测试第三天
    性能测试第二天
    DDD
    ATDD
    BDD
  • 原文地址:https://www.cnblogs.com/husiyu/p/15125211.html
Copyright © 2011-2022 走看看