博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
左旋转字符串
阅读量:7120 次
发布时间:2019-06-28

本文共 677 字,大约阅读时间需要 2 分钟。

题目:定义字符串的左旋转操作,把字符串前面的若干个字符移动到字符串的尾部。

要求:对长度为n的字符串操作的时间复杂度为O(n),辅助内存为O(1)。

举例:把字符串abcdef左旋转2位得到字符串cdefab。

答:

#include "stdafx.h"#include 
using namespace std;void swap(char *str, int begin, int end){ char ch; while (begin < end) { ch = *(str + begin); *(str + begin) = *(str + end); *(str + end) = ch; begin++; end--; }}void Rotate(char *str, int length ,int m){ if (NULL == str || length == 1) { return; } swap(str, 0, m - 1); swap(str, m, length - 1); swap(str, 0, length - 1);}int _tmain(int argc, _TCHAR* argv[]){ char chArr[] = "abcdef"; char *p = chArr; cout<

<

运行界面如下:

转载地址:http://wanel.baihongyu.com/

你可能感兴趣的文章
Hadoop概述
查看>>
Linux系统日志详解
查看>>
Linux笔记(shell特殊符号,sort排序,wc统计,uniq去重,tee,tr,split)
查看>>
11.15PMP试题每日一题
查看>>
华为模拟器如何实现不同Vlan不同网段之间的互通
查看>>
PHP 实现Session入库/存入redis
查看>>
手机锁屏密码忘记了怎么办,清除锁屏的办法
查看>>
BVS烟火识别输油站烟火检测应用
查看>>
使用Apache Ignite构建C++版本的分布式应用
查看>>
数据库基本概念
查看>>
恢复后缀ETH勒索病毒解密方法 恢复sql文件.com].ETH
查看>>
找到dht网络的节点了
查看>>
国内整C多IP服务器怎么搭建代理IP,又怎么区分代理IP呢
查看>>
人工智能+教育的应用——教育的安全
查看>>
一种面包屑导航
查看>>
shell脚本练习
查看>>
pdf页眉页脚设置步骤
查看>>
MySQL常用命令
查看>>
js如何保证iframe里的内容,显示在父窗口
查看>>
加速你的企业数字化转型,首先做到这一步!
查看>>