// strMove1.cpp : Defines the entry point for the console application.
//
//时间复杂度O(L),空间复杂度O(1)
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <iostream>
void moveOneStep(char a[]);
void moveN(char a[],int n);
int main(int argc, char* argv[])
{
char a[10];
gets(a);
int n=4;
// cin>>n;
moveN(a,n);
printf("%s",a);
return 0;
}
//将字符串分成AB两部分,前L-n个字符视为字符串A,后n个字符视为字符串B。移位后位BA。
//BA=B''A''=(A'B')',B'位B的反序字符串
void reverseOrder(char str[],int p,int q)
{
char temp;
while(p<q)
{
temp=str[p];
str[p]=str[q];
str[q]=temp;
p++;
q--;
}
}
//
void moveN(char a[],int n)
{
if(!a)
return;
int len=strlen(a);
int t=n%len;
reverseOrder(a,0,len-t-1);
reverseOrder(a,len-t,len-1);
reverseOrder(a,0,len-1);
}
相关文章
- python字符串常用的方法解析
- #yyds干货盘点# LeetCode面试题:字符串转换整数 (atoi)
- 【CSP201312-2】ISBN号码,字符串,简单模拟
- js 判断字符串是否为JSON格式
- js判断字符串是否为JSON格式
- 【最简单的方法】js判断字符串是否为JSON格式(20180115更新)
- JSON(二)——JavaScript中js对象与JSON格式字符串的相互转换
- Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式
- Python第三天 序列 数据类型 数值 字符串 列表 元组 字典
- Python 整数 长整数 浮点数 字符串 列表 元组 字典的各种方法