[研究生冲刺][算法实习生]LeetCode刷题日记(Day7)【欢迎关注,一起努力!Cheers!】

本文解析了LeetCode上的题目“机器人能否返回原点”,介绍了通过直接模拟行走路线的方法判断机器人是否能回到起点,提供了C++实现代码,时间复杂度为O(n),空间复杂度为O(1)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[研究生冲刺][算法实习生]LeetCode刷题日记(Day7)【欢迎关注,一起努力!Cheers!】

657. 机器人能否返回原点(8.28每日一题)

思路:
我们主要是直接模拟一下机器人的行走路线,用HorizontalVertical分别记录横向纵向的坐标。然后用一个switch语句会比if-else显得简洁。这题主要还有一点就是机器人面向方向不考虑,如果考虑的话则我们要额外考虑一下最后一步。总体来说这题是easy级别的。
算法的复杂度:
算法的时间复杂度为O(n)空间复杂度为O(1)
代码:

class Solution {
public:
    bool judgeCircle(string moves) {
        int Horizontal = 0;
        int Vertical = 0;
        for(int i = 0; i < moves.size(); ++i)
        {
            switch(moves[i])
            {
                case 'R':   ++Horizontal;   break;
                case 'L':   --Horizontal;   break;
                case 'U':   ++Vertical; break;
                case 'D':   --Vertical; break;
            }
        }
        if(Horizontal == 0 && Vertical == 0)
            return true;
        else 
            return false;
    }
};

不知不觉已经一个星期啦,大家一起加油啊!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值