笔试——字符串算法题——翻转分段字符串
2013-11-16 11:56
411 查看
这个既然有人笔试完就问,那我还是敲一份分享一下吧。
题目大意:字符串的问题,把字符串按点的位置翻转。要求时间复杂度O(n)、空间复杂度O(1)。
例如:对于字符串 "www.hyzhou.com.cn" 输出 "cn.com.hyzhou.www"
代码简单明了,就不写注释了,是在看不懂,自己调试运行看看过程就懂了。
题目大意:字符串的问题,把字符串按点的位置翻转。要求时间复杂度O(n)、空间复杂度O(1)。
例如:对于字符串 "www.hyzhou.com.cn" 输出 "cn.com.hyzhou.www"
代码简单明了,就不写注释了,是在看不懂,自己调试运行看看过程就懂了。
#include <stdio.h> void swap( char &a, char &b ) { char c = a; a = b; b = c; } char* reverse( char* src, int start, int end ) { for( int i=start, j=end; i<j; i++, j-- ) swap( src[i], src[j] ); return src; } char* reverse( char* src ) { int start, end; for( end=0, start=0; src[end]!='\0'; end++ ) { if( src[end+1]=='.' || src[end+1]=='\0' ) { reverse( src, start, end ); start = end+2; } } reverse( src, 0, end-1 ); return src; } int main() { char s[] = "www.hyzhou.com.cn"; reverse(s); printf( "%s\n", s ); }
相关文章推荐
- 笔试算法题(07):还原后序遍历数组 & 半翻转英文句段
- 笔试题目“翻转字符串”的实现
- C语言笔试题(7)——实现字符串的翻转
- 笔试算法题(01):字符串倒置 & 八皇后问题
- java笔试中字符串翻转的几种方法(java---华为----字符逆序)
- LintCode 算法(简单)翻转字符串
- 笔试题—字符串常见的算法题集锦
- 经典算法面试题目-翻转一个C风格的字符串(1.2)
- 字符串翻转 保持内部单词顺序【2012去哪儿网笔试最后一题】
- 数字字符串一道有道实习生笔试算法题分析
- 笔试算法题(16):二叉树深度计算 & 字符串全排列
- 经典算法面试题目-翻转一个C风格的字符串(1.2)
- 算法笔试题整理——升级蓄水池 && 字符串数字表达式计算值 && 求旅游完所有景点需要的最少天数 && 宝箱怪
- 算法(字符串移动,单词翻转)
- 名企笔试:PPTV2015研发工程师笔试题(对称子字符串转自微信公众号:算法爱好者
- 笔试算法题(35):最长递增子序列 & 判定一个字符串是否可由另一个字符串旋转得到
- 每天一道C\C++笔试题IV---翻转字符串
- 请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。 给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的
- 原串翻转 请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。 给定一个string iniString,请返回一个string,为翻转后的字符串
- python 数字 字符串 翻转算法