LeetCode 657. Robot Return to Origin

简介: LeetCode 657. Robot Return to Origin

There is a robot starting at position (0, 0), the origin, on a 2D plane. Given a sequence of its moves, judge if this robot ends up at (0, 0) after it completes its moves.

The move sequence is represented by a string, and the character moves[i] represents its ith move. Valid moves are R (right), L (left), U (up), and D (down). If the robot returns to the origin after it finishes all of its moves, return true. Otherwise, return false.

Note: The way that the robot is "facing" is irrelevant. "R" will always make the robot move to the right once, "L" will always make it move left, etc. Also, assume that the magnitude of the robot's movement is the same for each move.

Example 1:

Input: "UD"
Output: true 
Explanation: The robot moves up once, and then down once. All moves have the same magnitude, so it ended up at the origin where it started. Therefore, we return true.

Example 2:

Input: "LL"
Output: false
Explanation: The robot moves left twice. It ends up two "moves" to the left of the origin. We return false because it is not at the origin at the end of its moves.

题目描述:大概意思是求一个点经过若干次移动能否回到原来的位置。

题目分析:我们只需要去判断两个条件:

  • 向左移动的次数和向右移动的次数是否相等
  • 向上移动的次数是否和向下移动的次数相等

于是我们只需要计算出向左、向右、向上、向下分别走了多少步就行了。

python 代码:

class Solution(object):
    def judgeCircle(self, moves):
        """
        :type moves: str
        :rtype: bool
        """
        moves_length = len(moves)
        L_count = 0
        R_count = 0
        U_count = 0
        D_count = 0
        for i in range(moves_length):
            if moves[i] == 'L':
                L_count = L_count + 1
            elif moves[i] == 'R':
                R_count = R_count + 1
            elif moves[i] == 'U':
                U_count = U_count + 1
            elif moves[i] == 'D':
                D_count = D_count + 1
        if L_count == R_count and U_count == D_count:
            return True
        else:
            return False

C++ 代码:

class Solution {
public:
    bool judgeCircle(string moves) {
        int moves_length = moves.length();
        int L_count = 0;
        int R_count = 0;
        int U_count = 0;
        int D_count = 0;
        for(int i = 0; i < moves_length; i++){
            if(moves[i] == 'L'){
                L_count++;
            }
            else if(moves[i] == 'R'){
                R_count++;
            }
            else if(moves[i] == 'U'){
                U_count++;
            }
            else if(moves[i] == 'D'){
                D_count++;
            }
        }
        if(L_count == R_count && U_count == D_count){
            return true;
        }
        return false;
    }
};
目录
相关文章
|
6月前
解决Vscode使用LeetCode报错Failed to test the solution. Please open the output channel for details.
本文提供了解决在VScode中使用LeetCode插件时遇到“Failed to test the solution. Please open the output channel for details.”错误的方法,主要是通过修改setting.json文件中的输出文件夹配置来解决。
535 1
解决 Blocked a frame with origin “xxx“ from accessing a cross-origin frame
解决 Blocked a frame with origin “xxx“ from accessing a cross-origin frame
4053 0
LeetCode 67. Add Binary
给定两个二进制字符串,返回它们的总和(也是二进制字符串)。 输入字符串都是非空的,只包含字符1或0。
88 0
LeetCode 67. Add Binary
|
开发工具 git
git Your push would publish a private email address.
git Your push would publish a private email address.
105 0
git Your push would publish a private email address.
|
XML Java 应用服务中间件
Push to origin/master was rejec、enum+switch枚举搭配使用、idea 如何进入debug;Error during artifact deployment. S
Push to origin/master was rejec、enum+switch枚举搭配使用、idea 如何进入debug;Error during artifact deployment. S
209 0
Push to origin/master was rejec、enum+switch枚举搭配使用、idea 如何进入debug;Error during artifact deployment. S
|
Shell 开发工具 git
push to origin/master was rejected错误解决方案
push to origin/master was rejected错误解决方案
768 0
push to origin/master was rejected错误解决方案
|
开发工具 数据安全/隐私保护 git
git push -u origin main 报错 remote: Invalid username or password.
git push -u origin main 报错 remote: Invalid username or password.
258 0
|
开发工具 git
Gitlab提交代码:You are not allowed to push code to this project.fatal: unable to access requested URL
Gitlab提交代码:You are not allowed to push code to this project.fatal: unable to access requested URL
973 0
Leetcode-Easy 657. Judge Route Circle
Leetcode-Easy 657. Judge Route Circle
98 0
Leetcode-Easy 657. Judge Route Circle
Leetcode-Easy 804. Unique Morse Code Words
Leetcode-Easy 804. Unique Morse Code Words
110 0
Leetcode-Easy 804. Unique Morse Code Words