方法一 Set集合
用x=0,y=0来模拟点的坐标移动,N就是y+1,S就是y-1,E就是x+1,W就是x-1,没有重复出现的坐标就代表没有相交
javascript
var isPathCrossing = function(path) {
let set = new Set()
let x=0,y=0
set.add(x+','+y)
for(let char of path){
switch(char){
case "N":y++;break;
case "S":y--;break;
case "W":x--;break;
case "E":x++;break;
}
if(set.has(x+','+y)) return true
else set.add(x+','+y)
}
return false
};
消耗时间和内存情况: