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

 

 

给垂直方向和水平方向两个计数器,根据不同的变动进行加减,都为0说明没动。(自己第一时间想到的无脑解)

 1 class Solution {
 2     public boolean judgeCircle(String moves) {
 3         int v=0, h=0;
 4         for(int i=0;i<moves.length();i++){
 5             if(moves.charAt(i)=='U'){
 6                 v++;
 7             }
 8             else if(moves.charAt(i)=='D'){
 9                 v--;
10             }
11             else if(moves.charAt(i)=='R'){
12                 h++;
13             }
14             else if(moves.charAt(i)=='L'){
15                 h--;
16             }
17         }
18         if(v==0 && h==0){
19             return true;
20         }
21         else{
22             return false;
23         }
24     }
25 }

 

posted @ 2018-03-19 12:05  三人木君  阅读(133)  评论(0编辑  收藏  举报