leetcode 796. 旋转字符串 简单

给定两个字符串, s 和 goal。如果在若干次旋转操作之后,s 能变成 goal ,那么返回 true 。

s 的 旋转操作 就是将 s 最左边的字符移动到最右边。

  • 例如, 若 s = 'abcde',在旋转一次之后结果就是'bcdea' 。

示例 1:

复制代码
输入: s = "abcde", goal = "cdeab"
输出: true

示例 2:

复制代码
输入: s = "abcde", goal = "abced"
输出: false

提示:

  • 1 <= s.length, goal.length <= 100
  • s 和 goal 由小写英文字母组成

分析:将 s 自己复制一遍,放到 s 的末尾,即用一个新的字符串 ss=s+s 代替旋转操作。遍历字符串 ss,从第 i 到第 i+len 位就是旋转了 i 次后的字符串,每次取字串进行对比即可。

cpp 复制代码
class Solution {
public:
    bool rotateString(string s, string goal) {
        int len=s.size(),l=goal.size();
        if(len!=l)return false;

        string ss=s+s;
        for(int i=0;i<len;++i)
            if(ss.substr(i,len)==goal)return true;
        return false;
    }
};
相关推荐
Cccp.1237 小时前
【leetcode】(七)前缀树和贪心算法
数据结构·leetcode·贪心算法
优质酸酸乳12 小时前
力扣100题之21合并两个有序链表
算法·leetcode·链表
旖旎夜光12 小时前
LeetCode 137 : 只出现一次的数字 II(位运算) —— 题解
c++·笔记·学习·算法·leetcode·力控
yi01113 小时前
LeetCode 134 加油站:从 双循环暴力 演变到 贪心
linux·算法·leetcode
yi01114 小时前
DAY 14: LeetCode 394. 字符串解码|递归和栈到底怎么处理嵌套?
数据结构·笔记·python·算法·leetcode
P.D.Wei15 小时前
[Leetcode 1614] 括号的最大嵌套深度
算法·leetcode·职场和发展
blxr_15 小时前
力扣hot100寻找重复数https://leetcode.cn/problems/find-the-duplicate-number/
算法·leetcode·职场和发展
_不会dp不改名_16 小时前
leetcode_1614嵌套括号的最大深度
算法·leetcode·职场和发展
alphaTao19 小时前
LeetCode 每日一题 2026/9/21-2026/9/27
python·算法·leetcode
Persistent的粽子!1 天前
双指针算法:最大盛水容器
c++·算法·leetcode