博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
程序员面试题100题第21题——左旋转字符串
阅读量:6912 次
发布时间:2019-06-27

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

题目:把字符串前n个字符移到字符串的尾部。

如:abcdef左旋转2位得到字符串cdefab;

分析得:左旋转其实为3个反转操作!

代码如下:(主要const的使用)

const在*左边修饰指针指向的内容,即内容不能修改

const在*右边修饰指针本身,即指针本身不能修改

即//左内容右本身

char* ReverseString(char * const pStart, char * const pEnd)//反转字符串{
//const不修改指针 //左内容右本身 char *pS=pStart; char *pE=pEnd; if(pS != NULL && pE != NULL) { char temp; while(pS <= pE) { temp=*pS; *pS=*pE; *pE=temp; pS++; pE--; } } return pStart;}

 

char* ReverseLeftNumChar(char * const pStart, unsigned int n){
//const unsigned int iLen=strlen(pStart); if(n>0 && iLen>0 && iLen>n) { ReverseString(pStart,pStart+n-1); ReverseString(pStart+n,pStart+iLen-1); ReverseString(pStart,pStart+iLen-1); } return pStart;}

转载于:https://www.cnblogs.com/zjhnl/archive/2012/10/01/2709937.html

你可能感兴趣的文章
MySQL学习笔记(14)之事务
查看>>
基于Http原理实现Android的图片上传和表单提交
查看>>
解读大数据世界中MapReduce的前世今生
查看>>
【转】TCP为什么是个可靠的协议
查看>>
Word组件Spire.Doc6.0.52 发布| 修复转PDF文本重叠的问题
查看>>
我的友情链接
查看>>
程序员是吃青春饭的?
查看>>
错误:docker-ce conflicts with 2:docker-1.13.1-74.git
查看>>
JDK并发包之LinkedBlockingQueue
查看>>
响应式设计(Response Web Design)实践
查看>>
喜迎2015年新年:坦克大战(Robocode)游戏编程比赛图文总结
查看>>
ASP.NET MVC 5 - 给数据模型添加校验器
查看>>
矩表 - 现代数据分析中必不可少的报表工具
查看>>
Ansible 一键配置安装Keepalived+Nginx作为前端,httpd+php作为后端
查看>>
服务器维护安全策略方案
查看>>
maven-assembly-plugin 的includeBaseDirectory研究
查看>>
SSL证书相关技巧 -- 如何访问一个网站,其证书不在系统证书列表中
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
【hadoop】17.MapReduce-wordcount案例
查看>>