程序员面试金典第一章:数组与字符串(2) 原串翻转
来源:互联网 发布:js placeholder颜色 编辑:程序博客网 时间:2024/04/30 16:08
1.1 题目描述
请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。
给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。
测试样例:
“This is nowcoder”
返回:”redocwon si sihT”
1.2解题思路
思路1:声明一个新的string,从后向前保存,但是不符合题意时间复杂度O(n), 空间复杂度O(n)思路2:声明两个定位指针/index, 从两边向中间遍历字符串,直到相遇,依次互换字母时间复杂度O(n),空间复杂度O(1)
class Reverse {public: string reverseString(string iniString) { // write code here if(iniString.size() == 0 || iniString.size() == 1) return iniString; else { int firstIndex = 0; int lastIndex = iniString.size() - 1; while(firstIndex < lastIndex) swap(iniString[firstIndex++], iniString[lastIndex --]); return iniString; } }};
tips:当输入字符串长度为0或者1的时候,可以直接返回
0 0
- 程序员面试金典第一章:数组与字符串(2) 原串翻转
- 程序员面试金典第一章:数组与字符串(8) 翻转子串
- 程序员面试金典第一章:数组与字符串(6) 像素翻转
- 《程序员面试金典》原串翻转
- 【程序员面试金典】原串翻转
- 程序员面试金典(2):原串翻转(python)
- 原串翻转(程序员面试金典)
- 程序员面试金典: 9.1数组与字符串 2写翻转字符串函数reverse(char* str)
- 程序员面试金典:字符串--确定字符串互异、原串翻转、空格替换
- 程序员面试金典第一章:数组与字符串(5) 基本字符串压缩
- 程序员面试金典第一章:数组与字符串(1) 确定字符互异
- 程序员面试金典第一章:数组与字符串(3) 确定两串乱序同构
- 程序员面试金典第一章:数组与字符串(4) 空格替换
- 程序员面试金典第一章:数组与字符串(7)清除行列
- 程序员面试金典 1.2 原串翻转
- 程序员面试金典题解 原串翻转
- 程序员面试金典——原串翻转
- 面试金典系列2--原串翻转
- caffe安装错误总结(cuda,cudnn,ffmpeg错误,cudnn.hpp:8:34)
- 如果地球上挖了一个洞,出口在地球的另一端,一个人跳进洞中,请问他会怎样运动?
- Java target retention doucmented inherited元注解
- 15个顶级Java多线程面试题及回答
- 2015 Objective-C 新特性
- 程序员面试金典第一章:数组与字符串(2) 原串翻转
- 方便计时器
- Android面试:Java相关
- sublime text3使用LiveReload插件热更新页面 搭配sublimeServer
- content = "IE=edge,chrome=1" 详解
- 欢迎使用CSDN-markdown编辑器
- 怎样在一个项目里用logger在控制台打印信息
- 关于安卓端集成高德3D地图的那些事...实时定位+展示用户的运动轨迹
- CocoaPods安装最新流程