1. 程式人生 > 實用技巧 >657.機器人能否返回原點

657.機器人能否返回原點

在二維平面上,有一個機器人從原點 (0, 0) 開始。給出它的移動順序,判斷這個機器人在完成移動後是否在 (0, 0) 處結束。
移動順序由字串表示。字元 move[i] 表示其第 i 次移動。機器人的有效動作有 R(右),L(左),U(上)和 D(下)。如果機器人在完成所有動作後返回原點,則返回 true。否則,返回 false。
注意:機器人“面朝”的方向無關緊要。 “R” 將始終使機器人向右移動一次,“L” 將始終向左移動等。此外,假設每次移動機器人的移動幅度相同。

從原點(0,0)可以想到座標系
題目給出有效動作為上下左右,假設每次移動為1,則有座標點的x/y軸座標 +/-1,能否回到原點就看最後的點是否為(0,0)

-2-1012345-5-4-3-2-101234567

class Solution {
    public boolean judgeCircle(String moves) {
        int x=0,y=0;
        int len = moves.length();
        for(int i=0;i<len;i++){
            char c = moves.charAt(i);
            if(c=='U') y++;
            if(c=='D') y--;
            if(c=='L') x--;
            if(c=='R') x++;
        }
        return x==0&&y==0;
    }
}