每日一道算法题:字符串反转
2014-11-22 01:22
302 查看
题目:实现字符串反转,要求不使用任何系统函数,且时间复杂度最小,函数原型:char* reverse_str(char* str)
解题思路:想到的思路是在字符串开始和结尾部分分别定义一个指针,比如说p和q,p向后遍历,q向前遍历,每当p和q各自指向一个字符时,交换,再继续遍历,知道p>q为止。代码如下:
解题思路:想到的思路是在字符串开始和结尾部分分别定义一个指针,比如说p和q,p向后遍历,q向前遍历,每当p和q各自指向一个字符时,交换,再继续遍历,知道p>q为止。代码如下:
char* reverse_str(char str[]){ int start = 0; int end = 0; while (*(str+end) != '\0'){ end++; } char temp = '\0'; while(start < end){ temp = str[start]; str[start] = str[end]; str[end] = temp; start ++; end --; } return str; }
相关文章推荐
- 每日一道算法题:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
- 关于一道面试题,使用C#实现字符串反转算法
- 关于一道面试题,使用C#实现字符串反转算法
- 每日一道算法题:输入一个表示整数的字符串,把该字符串转换成整数并输出
- 反转单向链表(每日一道算法题)
- 小小c#算法题 - 3 - 字符串语句反转
- 字符串反转操作,网易的一道面试题
- (转)趣味算法:字符串反转的N种方法
- 一道面试题:从一个字符串中找出第一个不重复字符;算法一;
- 每天一道算法题9 字符串的排列
- 1.2 实现C语言风格的字符串反转的算法
- 对一道“写一个算法实现字符串逆序存储,要求不另设串存储空间.”题目的总结!
- 每天一道算法题1 判断字符串是否是回文字符串或者是否含有回文字符子串
- 字符串反转,神奇的算法-读《编程珠玑(第二版)》
- 一道算法题---把字符串内连续相同字符删除
- 数字字符串一道有道实习生笔试算法题分析
- 一些常用算法[数组全排列算法,单链表反转(递归实现),字符串反转,桶排序]
- 趣味算法:字符串反转的N种方法
- 使用C#实现字符串反转算法的参考答案
- [转载] 趣味算法:字符串反转的N种方法