LeetCode 657 Judge Route Circle 判斷路線圈

Initially, there is a Robot at position (0, 0). Given a sequence of its moves, judge if this robot makes a circle, which means it moves back to the original place.

The move sequence is represented by a string. And each move is represent by a character. The valid robot moves are R (Right), L (Left), U (Up) and D (down). The output should be true or false representing whether the robot makes a circle.

Example 1:
Input: “UD”
Output: true
Example 2:
Input: “LL”
Output: false

問題描述

有一個機器人在(0,0)的位置,給出他移動的一個序列,判斷機器人能否回到起始的地方。移動的序列用一個字符串存儲,任何一次移動用一個字母表示,有效的移動R(向右),L(向左),U(向上),D(向下)如果機器人的路線爲一個圈則返回true否則返回false

解題思路

只需要統計R、L、U、D的個數,滿足R的個數等於L的個數,U的個數等於D的個數則true否則false

/* C++ */
class Solution {
public:
bool judgeCircle(string moves) {
    int i, k, j, m, n;
    i = 0; j = 0; m = 0; n = 0;
    bool output;

    for (k = 0; k<moves.size(); k++){
        if (moves[k] == 'R')
            i++;
        if (moves[k] == 'L')
            j++;
        if (moves[k] == 'U')
            m++;
        if (moves[k] == 'D')
            n++;

    }
    cout << i << j << m << n << endl;
    if (i == j && m == n)
        return true;
    else
        return false;

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