基础算法----实现反转字符串
2017-02-27 00:00
375 查看
前言
字符串反转是一道经典的算法题,思想比较简单:数组的第一位和最后一位互换;
数组第二位和倒数第二位互换;
......
递归完结条件为取到中间值:start == end;
实现
string str = "1234"; char[] arr = str.ToArray(); int start = 0; int end = arr.Length-1; #region 反转 static void rollback(char[] arr, int start, int end) { /** * 分成两部分看:排列完成,待排列 * * start和end部分为排列完成,start+1之后为待排列,最后end和start置换。 */ while (end > start)//排列次数,是整个数组的长度 { char temp = arr[start]; for (int i = start + 1; i <= end; i++) { arr[i - 1] = arr[i]; } arr[end] = temp; end--; } for (int i = 0; i < arr.Length; i++) { System.Console.Write(arr[i]); } System.Console.Write("\n"); } #endregion
结果
源码
http://git.oschina.net/aspnet/Suan-Fa相关文章推荐
- 关于一道面试题,使用C#实现字符串反转算法
- 算法基础:删除字符串中出现次数最少的字符(Golang实现)
- 算法题 用C或C++实现void reverse(char* str)函数,即反转一个null结尾的字符串
- 使用C#实现字符串反转算法的参考答案
- 关于一道面试题,使用C#实现字符串反转算法
- 【LeetCode-面试算法经典-Java实现】【151-Reverse Words in a String(反转字符串中的单词)】
- 一些常用算法[数组全排列算法,单链表反转(递归实现),字符串反转,桶排序]
- 算法分析-如何实现字符串的反转
- 算法基础:删除字符串中出现次数最少的字符(Golang实现)
- 1.2 实现C语言风格的字符串反转的算法
- Java字符串反转算法实现
- 要求:不申请变量和空间反转字符串,用一个函数实现。VIA笔试题
- 仿淘宝,拍拍等查询关键词字符串编码算法实现(PHP版),抛弃URLENCODE!
- 不使用任何中间变量,实现字符串反转
- 复习:支持向量机的理论基础—学习算法的实现方法
- 仿淘宝,拍拍等查询关键词字符串编码算法实现(C#版),抛弃URLENCODE!
- C#中实现字符串反转
- 字符串反转-编辑距离-约瑟夫环的实现
- 【算法】实现对中文字符串数组按照音序排列
- (转)趣味算法:字符串反转的N种方法