[每日一题]机器人能否返回原点

Posted1 by 呼延十 on December 5, 2018 Hot:

来源:

lintcode-机器人能否返回原点

描述

最初,机器人位于(0, 0)处。 给定一系列动作,判断该机器人的移动轨迹是否是一个环,这意味着它最终会回到原来的位置。

移动的顺序由字符串表示。 每个动作都由一个字符表示。 有效的机器人移动是R(右),L(左),U(上)和D(下)。 输出应该为true或false,表示机器人是否回到原点。

样例

样例1:
输入: "UD"
输出: true
样例2:
输入: "LL"
输出: false

解题思路

要想返回原点,上下操作与左右操作必须成对出现,即U的个数=D的个数,L的个数=R的个数.

实现代码

public boolean judgeCircle(String moves) {
  // Write your code here
  char[] cs = moves.toCharArray();
  int u = 0;
  int d = 0;
  int l = 0;
  int r = 0;
  for (char c : cs) {
    switch (c) {
      case 'U':
        u++;
        break;
      case 'D':
        d++;
        break;
      case 'R':
        r++;
        break;
      case 'L':
        l++;
        break;
    }
  }
  return u - d == 0 && r - l == 0;
}

完。




ChangeLog

2018-12-05 完成

以上皆为个人所思所得,如有错误欢迎评论区指正。

欢迎转载,烦请署名并保留原文链接。

联系邮箱:huyanshi2580@gmail.com

更多学习笔记见个人博客——>呼延十