天天看點

LeetCode_657_機器人能否傳回原點

題目描述:

在二維平面上,有一個機器人從原點 (0, 0) 開始。給出它的移動順序,判斷這個機器人在完成移動後是否在 (0, 0) 處結束。

移動順序由字元串表示。字元 move[i] 表示其第 i 次移動。機器人的有效動作有 R(右),L(左),U(上)和 D(下)。如果機器人在完成所有動作後傳回原點,則傳回 true。否則,傳回 false。

注意:機器人“面朝”的方向無關緊要。 “R” 将始終使機器人向右移動一次,“L” 将始終向左移動等。此外,假設每次移動機器人的移動幅度相同。

輸入示例1:
輸入: "UD"
輸出: true
解釋:機器人向上移動一次,然後向下移動一次。所有動作都具有相同的幅度,是以它最終回到它開始的原點。是以,我們傳回 true。      
輸入示例2:
輸入: "UD"
輸出: true
解釋:機器人向上移動一次,然後向下移動一次。所有動作都具有相同的幅度,是以它最終回到它開始的原點。是以,我們傳回 true。      
class Solution {
public:
    bool judgeCircle(string moves) {
        int nl=0,nr=0,nu=0,nd=0;
        for(int i=0;i<moves.size();i++){
            if(moves[i]=='L')
                nl++;
            else if(moves[i]=='R')
                nr++;
            else if(moves[i]=='U')
                nu++;
            else
                nd++;
        }
        if(nl==nr&&nu==nd)
            return true;
        else
            return false;
    }
};