如何判断一个字符串是否为另一个字符串旋转后的字符串

一下是我个人的思路

我对一个字符串,利用for循环,进行多次左旋,每次左旋比较一次,在k次数没有匹配的,返回0,打印 不是;反之则返回1,打印 是。

那么如何确定比较次数呢?可以使用一个strlen函数,根据字符串长度确定比较函数,那么接下来开始实现它

首先确定主函数内容

8a1736076c1d43dab5c39670ffda7ccf.png

 

我首先确定了两个字符串(注意,必须写成数组,如果不写[], 而是写成char* arr 会导致无法在后续的函数中更改。而x用来接收函数的返回值。

接下来实现确定函数

56ea4f508d604242a82a5eea4d44ccb3.png

可以看出,我在里面实现了比较与左旋

首先是比较 第一个for循环下面的strcmp(头文件是<string.h>),这里实现了比较,如果比较相符,那么会返回1,在主函数中打印

是的

如果不相等,则左旋一次;下面便是左旋的实现。

102dfac990f14dbb9a7b239ad246dd4b.png

 

如果左旋了len-1次,那么其实比较了len次(len是字符串长度),如果均不符合,返回0,在主函数中打印

不是 

如果想详细地了解左旋,可以看我上上篇博客。

这便是我对

如何判断一个字符串是否为另一个字符串旋转后的字符串

的理解,如有优化与指正,随时欢迎😄

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值