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

来源:

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值