zoukankan      html  css  js  c++  java
  • 657. Judge Route Circle【easy】

    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 的代码。

  • 相关阅读:
    3.04
    3.03
    3.02
    3.01
    2.27
    2.25小账本6
    2.24小账本5
    2.23小账本4
    2.22小账本3
    git常用命令
  • 原文地址:https://www.cnblogs.com/abc-begin/p/7582080.html
Copyright © 2011-2022 走看看