2018年5月16日 星期三

Leetcode - 657. Judge Route Circle

Question:
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:
Example 1:
Input: "UD"
Output: true

Example 2:
Input: "LL"
Output: false

Solution:
bool judgeCircle(char* moves) {
    int x=0,y=0,i;
    
    for(i=0; moves[i] != '\0'; i++)
    {
        if(moves[i] == 'U')
            y = y+1;
        
        else if(moves[i] == 'D')
            y = y-1;
        
        else if(moves[i] == 'L')
            x = x-1;
        
        else if(moves[i] == 'R')
            x = x+1;
        
        else
            printf("not right command");
    }

    if((x==0) && (y==0)) 
        return true;
    else
        return false;
}

沒有留言:

張貼留言