close

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

 

想法

想成垂直和水平兩個方向,若是 U 垂直 +1、D -1;水平也如法炮製。

code

bool judgeCircle(char* moves) {
    int up = 0;
    int right = 0;
    while (*moves) {
        switch (*moves) {
            case 'U':
                up++;
                break;
            case 'D':
                up--;
                break;
            case 'L':
                right--;
                break;
            case 'R':
                right++;
                break;
        }
        moves++;
    }
    if (up == 0 && right == 0)
        return true;
    else
        return false;
}

 
arrow
arrow
    全站熱搜

    Davis 發表在 痞客邦 留言(0) 人氣()