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 else19 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 }