class Solution {
public:
bool isPathCrossing(string path) {
set<pair<int,int>>obj;
int curX=0;
int curY=0;
obj.insert({curX,curY});
for(int i=0;i<path.size();i++)
{
if(path[i]=='N')
{
curX=curX;
curY=curY+1;
if(obj.count({curX,curY})==1)
{
return true;
}
obj.insert({curX,curY});
}
if(path[i]=='S')
{
curX=curX;
curY=curY-1;
if(obj.count({curX,curY})==1)
{
return true;
}
obj.insert({curX,curY});
}
if(path[i]=='W')
{
curX=curX-1;
curY=curY;
if(obj.count({curX,curY})==1)
{
return true;
}
obj.insert({curX,curY});
}
if(path[i]=='E')
{
curX=curX+1;
curY=curY;
if(obj.count({curX,curY})==1)
{
return true;
}
obj.insert({curX,curY});
}
}
return false;
}
};
LeetCode:1496. 判断路径是否相交
最新推荐文章于 2021-06-01 13:51:53 发布