StackTc 2018-06-26 10:19 采纳率: 90.9%
浏览 633
已结题

leetcode解答求优化,算法大神有吗

题目

图片说明

代码如下

class Solution {
    public boolean isIsomorphic(String s, String t) {
        Map<String,Integer> sMap = new HashMap<>();
        Map<String,Integer> tMap = new HashMap<>();

        for (int i = 0; i < s.length(); i++) {
            String sString = s.substring(i,i + 1);
            String tString = t.substring(i,i + 1);
            if (sMap.get(sString) ==null && tMap.get(tString) == null) {
                sMap.put(sString,i);
                tMap.put(tString,i);
                continue;
            }
            if((sMap.get(sString) ==null && tMap.get(tString) != null) || (sMap.get(sString) != null && tMap.get(tString) == null)) {
                return false;
            }
            if (!sMap.put(sString,i).equals(tMap.put(tString,i))) {
                return false;
            }
        }

        return true;
    }
}

  • 写回答

5条回答 默认 最新

  • oyljerry 2018-06-26 12:45
    关注

    直接一个map,如果key存在就查找和当前的比较,不存在就插入map

    评论

报告相同问题?