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
UDLR表示机器人的上下左右,判断它能否回到原点
C++(19ms):
1 class Solution { 2 public: 3 bool judgeCircle(string moves) { 4 int LRnum = 0 ; 5 int UDnum = 0 ; 6 for(char c : moves){ 7 if (c == 'U') 8 UDnum++ ; 9 else if(c == 'D') 10 UDnum--; 11 else if(c == 'L') 12 LRnum++; 13 else if(c == 'R') 14 LRnum--; 15 } 16 if(LRnum == 0 && UDnum == 0) 17 return true ; 18 else 19 return false ; 20 } 21 };
Java(15ms):
1 class Solution { 2 public boolean judgeCircle(String moves) { 3 int LRnum = 0 ; 4 int UDnum = 0 ; 5 for(char c : moves.toCharArray()){ 6 if (c == 'U') 7 UDnum++ ; 8 else if(c == 'D') 9 UDnum-- ; 10 else if(c == 'L') 11 LRnum++ ; 12 else if(c == 'R') 13 LRnum-- ; 14 } 15 return UDnum == 0 && LRnum == 0 ; 16 } 17 }