657. 判断路线成圈

初始位置 (0, 0) 处有一个机器人。给出它的一系列动作,判断这个机器人的移动路线是否形成一个圆圈,换言之就是判断它是否会移回到原来的位置

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

示例 1:

输入: "UD"
输出: true

示例 2:

输入: "LL"
输出: false

思路:

设置两个值 numUD 和 numRL , 分别代表垂直上下 和 水平左右的当前位置。若果出现 'U' ,则 numUD ++ , 出现 ’D' 则 numUD--。numRL类似。

/**
 * @param {string} moves
 * @return {boolean}
 */
var judgeCircle = function(moves) {
  var numUD = 0, numRL = 0;
  for (var move of moves) {
    switch(move) {
      case 'U':
        numUD ++;
        break;
      case 'D':
        numUD --;
        break;
      case 'R':
        numRL ++;
        break;
      case 'L':
        numRL --;
        break;
    }
  }
  if (numUD === 0 && numRL === 0) {
    return true;
  } else {
    return false;
  }
};

 

全部评论

相关推荐

与火:这不接? 留子的钱不挣白不挣
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务