LeetCode:1496. 判斷路徑是否相交

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;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章