码迷,mamicode.com
首页 > 其他好文 > 详细

657. Judge Route Circle【easy】

时间:2017-09-23 20:21:19      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:class   osi   tin   example   res   div   false   ++   order   

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】

标签:class   osi   tin   example   res   div   false   ++   order   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!