程序员面试金典: 9.1数组与字符串 2写翻转字符串函数reverse(char* str)
来源:互联网 发布:ticwear能用的软件 编辑:程序博客网 时间:2024/05/01 00:32
#include <iostream>#include <stdio.h>using namespace std;const int MAXSIZE = 10000;/*问题:用C或C++实现void reverse(char* str)函数,即翻转一个null结尾的字符串分析:寻找到str最后的下标对应字符ch,然后从字符串末尾开始将最好的方法就是找到字符串的开始和末尾,将首尾交换后,然后向中间继续靠近输入:chaoma输出:amoahc关键:1 本质就是寻找到字符串首尾指针,对于首尾处字符交换,然后向中间逼近2 注意寻找到尾指针后,需要另last--,因为需使得尾指针在'\0'之前的一个字符*/void reverse(char* str){char* last = str;//如果还没有到达末尾while( (*last) != '\0' ){last++;}//最后一个字符串是结尾符,需要去除last--;char* begin = str;//只要前面小于后面,就交换while(begin < last){char temp = * begin;//先*后++*(begin++) = *last;*(last--) = temp;}}int main(int argc, char* argv[]){char str[MAXSIZE];while(cin >> str){reverse(str);cout << str << endl;}system("pause");return 0;}
0 0
- 程序员面试金典: 9.1数组与字符串 2写翻转字符串函数reverse(char* str)
- 程序员面试金典第一章:数组与字符串(2) 原串翻转
- 程序员面试金典第一章:数组与字符串(6) 像素翻转
- 程序员面试金典第一章:数组与字符串(8) 翻转子串
- 【程序员面试金典】数组与字符串
- C语言递归和非递归实现字符串反转函数char *reverse(char *str)
- 程序员面试金典: 9.1数组与字符串 1判断字符串所有字符全都不同
- 程序员面试金典: 9.1数组与字符串 4字符串中空格全部替换为"%20"
- 程序员面试金典: 9.1数组与字符串 5字符串压缩
- 递归实现字符串反转char* reverse(char* str)合集
- CI1.2 用c或c++实现void reverse(char* str)函数,即反转一个null结尾的字符串
- 程序员面试金典-数组和字符串
- 程序员面试金典第一章:数组与字符串(5) 基本字符串压缩
- 程序员面试金典:字符串--确定字符串互异、原串翻转、空格替换
- 程序员面试金典: 9.1数组与字符串 6将图像旋转90度
- 程序员面试金典: 9.1数组与字符串 8判断两个字符串中一个字符串是否由另一个字符串旋转而成
- 面试题--字符串指针与字符串数组的区别char* st="abc;与char* str[]="abc";的异同
- Sql REVERSE 翻转字符串
- LINUX命令大全
- 1622-5 孔富晨 总结《2016年12月17日》 【连续第78天总结】
- ping的详细过程
- 2016大二第一学期实训感悟
- Win10下配置PHP环境变量
- 程序员面试金典: 9.1数组与字符串 2写翻转字符串函数reverse(char* str)
- C::单链表面试:
- 【项目3-点结构体】(2)
- 应用宝给app添加“官方”标签
- git push远程报错问题
- 加密算法介绍
- 成为Java顶尖程序员 ,看这11本书就够了
- 快速排序
- 主机信息收集工具DMitry