题目:编写程序,在原字符串中把字符串尾部的m个字符移动到字符串的头部,要求:长度为n的字符串操作时间复杂度为O(n),空间复杂度为O(1)。 例如,原字符串为”Ilovebaofeng”,m=7,输出结果为:”baofengIlove”。
思路:借鉴了July的旋转字符串的思路。分别将字符串的两部分逆序,然后再对整个字符串逆序。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void RotateString(c
本文介绍了如何用C语言解决面试题:将字符串尾部m个字符移到头部,要求时间复杂度为O(n),空间复杂度为O(1)。通过将字符串分为两部分逆序,再整体逆序来实现这一操作,举例说明了具体过程。
题目:编写程序,在原字符串中把字符串尾部的m个字符移动到字符串的头部,要求:长度为n的字符串操作时间复杂度为O(n),空间复杂度为O(1)。 例如,原字符串为”Ilovebaofeng”,m=7,输出结果为:”baofengIlove”。
思路:借鉴了July的旋转字符串的思路。分别将字符串的两部分逆序,然后再对整个字符串逆序。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void RotateString(c
2397

被折叠的 条评论
为什么被折叠?