Leetcode-1496 判断路径是否相交

作者: itbird01 | 来源:发表于2021-10-10 10:06 被阅读0次

    1496. 判断路径是否相交

    解题思路

    • 暴力解法
      1.分析题意,'N'、'S'、'E' 'W'其实是针对于坐标值x、y的加减规则
      2.N(y++,x),S(y--,x),E(y,x--),W(y,x++)
      3.题意分析,即走过的中间路径中,是否存在回环,即走一段时间,又回到某个起点
      4.暴力解法,将每个走个的x/y存储下来,每次走到下一位置,判断x/y的数组中是否包含当前位置,如果包含则return true,否则return false

    解题遇到的问题

    后续需要总结学习的知识点

    1.其他解法?

    ##解法1
    import java.util.ArrayList;
    import java.util.List;
    
    class Solution {
        public boolean isPathCrossing(String path) {
            if (path == null || path.trim().isEmpty()) {
                return true;
            }
            int x = 0, y = 0;
            List<Integer> xlist = new ArrayList<Integer>();
            List<Integer> ylist = new ArrayList<Integer>();
            xlist.add(0);
            ylist.add(0);
            for (int i = 0; i < path.length(); i++) {
                if (path.charAt(i) == 'N') {
                    y++;
                } else if (path.charAt(i) == 'S') {
                    y--;
                } else if (path.charAt(i) == 'E') {
                    x--;
                } else if (path.charAt(i) == 'W') {
                    x++;
                }
                for (int j = 0; j < xlist.size(); j++) {
                    if (xlist.get(j) == x && ylist.get(j) == y) {
                        return true;
                    }
                }
                xlist.add(x);
                ylist.add(y);
            }
            return false;
        }
    }
    

    相关文章

      网友评论

        本文标题:Leetcode-1496 判断路径是否相交

        本文链接:https://www.haomeiwen.com/subject/qgjenltx.html