首页 > 其他 > 详细

657. Judge Route Circle【easy】

时间:2017-09-23 19:38:46      阅读:276      评论:0      收藏:0      [点我收藏+]

657. Judge Route Circle【easy】

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

 

解法一:

 1 class Solution {
 2 public:
 3     bool judgeCircle(string moves) {
 4         int h = 0;
 5         int w = 0;
 6         
 7         for (int i = 0; i < moves.length(); ++i) {
 8             if (moves[i] == U) {
 9                 h++;
10             } else if (moves[i] == D) {
11                 h--;
12             } else if (moves[i] == R) {
13                 w++;
14             } else if (moves[i] == L) {
15                 w--;
16             }
17         }
18         
19         return (h == 0 && w == 0);
20     }
21 };

 

解法二:

1 class Solution {
2 public:
3     bool judgeCircle(string moves) {
4         unordered_map<char, int> c;
5         for ( char m : moves )
6             ++c[m];
7         return c[L] == c[R] && c[U] == c[D];
8     }
9 };

参考@zqfan 的代码。

 

657. Judge Route Circle【easy】

原文:http://www.cnblogs.com/abc-begin/p/7582080.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!