[LeetCode] 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
判断路径回环,就是判断L与R,U与D是否相等。这种抵消问题可以用2个标志位来记录字母出现的次数,对对应的字母出现相加减。
class Solution {
public:
    bool judgeCircle(string moves) {
        int x = 0, y = 0;
        for (char c : moves) {
            if (c == 'U')
                x++;
            else if (c == 'D')
                x--;
            else if (c == 'L')
                y++;
            else if (c == 'R')
                y--;
        }
        return !(x || y);
    }
};
// 19 ms
原文地址:https://www.cnblogs.com/immjc/p/7490397.html