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
想法如下
- 這題不難,歷遍一次字串,移動座標,最後檢查是不是在原點就好
Java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Solution { | |
public boolean judgeCircle(String moves) { | |
int x = 0, y = 0; | |
for(char c : moves.toCharArray()) { | |
if(c == 'U') { | |
++y; | |
} | |
else if(c == 'D') { | |
--y; | |
} | |
else if(c == 'L') { | |
--x; | |
} | |
else { | |
++x; | |
} | |
} | |
return x == 0 && y == 0; | |
} | |
} |
沒有留言:
張貼留言