★判断一个字符串是否为另外一个字符串旋转之后的字符串。

例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.

AABCD左旋一个字符得到ABCDA     AABCD右旋一个字符得到DAABC

AABCD左旋两个字符得到BCDAA     AABCD右旋两个字符得到CDAAB

#include <stdio.h>
#include <string.h>
#include <assert.h>
#include<stdlib.h>
int spin(char *p, char *q)
{
assert(p != NULL && q != NULL);   //断言传入的指针为不为空,用以抛出异常
strncat(p, p, strlen(p));     //strncat函数用以连接两个字符串,若用strcat则可能会发生越界,数组长度不够容纳越界处后续的字符,strlen用以求出字符串的长度
if (strstr(p, q) == NULL)      //strstr用以在原字符串中查找目标字符串,注意参数的位置顺序
{
return 0;
}
else
{
return 1;
}
}
int main()
{
char p[20] = "AABCD";          //原字符串
char *q = "BCDAA";             //目标字符串char r[20] = "abcd";          //原字符串char *s = "ACBD";            //目标字符串printf("字符串:%s\t%s\n",p,q);
int ret = spin(p, q);
printf("BACK_VALUE=%d\n",ret);    //输出返回值
printf("字符串:%s\t%s\n",r,s);
int rew = spin(r, s);
printf("BACK_VALUE=%d\n",rew);    //输出返回值
system("pause");
return 0;
}

转载于:https://blog.51cto.com/10738469/1709162

判断一个字符串是否为另外一个字符串旋转之后的字符串。相关推荐

  1. C语言---写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串

    题目: 写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串. #include <string.h> #include <stdio.h> void left_re ...

  2. 两种方法判断一个字符串是否为另外一个字符串旋转之后的字符串。(C语言)...

    例如:给定s1 = AABCD和s2 = BCDAA,返回1 给定s1 = abcd和s2 = ACBD,返回0. AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 第一种: ...

  3. 字符串左旋问题及判断一个字符串是否由另一个字符串左旋得到

    字符串左旋问题 问题描述 左旋字符串中的k个字符.例如 ABCD左旋一个字符得到BCDA ,ABCD左旋两个字符得到CDAB 解法一:暴力破解法 先左旋一个字符 将字符串首个字符保存在temp中 字符 ...

  4. java检查两个字符串是否包含,java判断一个字符串是否包含另外一个字符串,java另外一个,要检查一个字符串是否包含...

    java判断一个字符串是否包含另外一个字符串,java另外一个,要检查一个字符串是否包含 要检查一个字符串是否包含另外一个字符串需要使用indexOf()方法,如果indexOf方法返回大于等于0的值 ...

  5. Java 中判断一个字符串是否包含另外一个字符串的方法

    方法一:indexOf(String s) 可以配合indexOf(String s)的使用,如果包含,返回的值是包含该子字符串在父类字符串中起始位置:如果不包含必定全部返回值为-1 public v ...

  6. 判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 =AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.

    题目: 判断一个字符串是否为另外一个字符串旋转之后的字符串.  例如:给定s1 =AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0. AABCD左旋一个字符得到AB ...

  7. C 判断一个字符串是否包含另一个字符串

    如何判断一个字符串是否包含另一个字符串? 思路:从一个字符串中提取出可能与另一个字符串相同的部分,再进行比较. 代码: #include <stdio.h> #include <st ...

  8. c语言编程判断输入的一个字符串是否是“回文”。所谓“回文”字符串就是左读和右读都一样的字符串。例如: “abcba“就是一个回文字符串。

    编程判断输入的一个字符串是否是"回文".所谓"回文"字符串就是左读和右读都一样的字符串.例如: "abcba"就是一个回文字符串. 要求:先 ...

  9. java字符串中包含_怎么判断一个字符串是否包含另一个字符串

    第一步骤:判断一个字符串是否包含另一个字符串. 1.思路整理 首先我们可以借助于java中String类提供的indexOf方法 2.代码如下 public class TestString { pu ...

最新文章

  1. “战狼”无人直升机完成高原靶试
  2. 航天智慧物流线上预选赛-成绩公布
  3. (三)Redis for StackExchange.Redis
  4. 如何进行服务器选购[转]
  5. 操作系统中的死锁问题
  6. (转)MyBatis框架的学习(五)——一对一关联映射和一对多关联映射
  7. Open3D 凸包算法
  8. pip或者python安装jpype总是报错----Boilerpipe使用
  9. dfuse SQE 结构化查询引擎发布:颠覆 Web 3.0 开发
  10. win10小娜_win10小娜不好用,想禁用或彻底删除Cortana,就用这2招
  11. 使用elasticsearch文件搜索系统助力亚马逊解决方案架构师认证考试
  12. 教你用记账方法了解账户总收支结余
  13. 7-1 房屋分拆 (25 分)(C语言版)
  14. Java中带返回值的线程池Future
  15. 盘点激光雷达常用的10大数据处理软件
  16. win10 找不到gpedit.msc|找不到本地组策略编辑器的解决方法
  17. 基于C#实现的学生考试系统
  18. C语言——A+B+C问题
  19. DATE类各种方法总结
  20. jmeter学习:成功发帖纪录

热门文章

  1. 对其他组所提建议的回复(第一阶段)
  2. 全国计算机等级考试题库二级C操作题100套(第36套)
  3. python中numpy模块的around方法_Python numpy.around()用法及代码示例
  4. 函数求值需要运行所有线程_精读《深度学习 - 函数式之美》
  5. 计算机没有程序,计算机小知识:想尝试写程序却没有电脑?这个在线编辑器满足你...
  6. 开发工具:Intellij IDEA 非常实用的小技巧,你确定不来看看?
  7. APP技巧:推荐6款超级实用的APP软件,赶快下载试试吧!
  8. 后端:MyBatis 面试问题集锦
  9. 为什么超 80% 的开源开发者苦苦挣扎在贫困线?
  10. Asp.Net生命周期的详解