c - 字符串的反转
1,递归实现
// 递归实现字符串反转(可通过栈的调用来加深理解).
char *
reverse(char *c) {
if(!c)
return NULL;
int len = strlen(c);
if(len > ) {
char tmp = c[];
c[] = c[len - ];
c[len - ] = '\0'; //尾部的字符在下一次递归时不处理.
reverse(c + );
c[len - ] = tmp;
}
return c;
}
2,非递归实现(比较简单)
//非递归实现.
void
non_recursive(char *c) {
int len = strlen(c);
char tmp;
for(int i = ; i < len / ; i++) {
tmp = c[i];
c[i] = c[len - i - ];
c[len - i - ] = tmp;
}
}
c - 字符串的反转的更多相关文章
- Codeforces Round #367 (Div. 2) A B C 暴力 二分 dp(字符串的反转)
A. Beru-taxi time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- Java实现一个字符串的反转
Java小程序实现字符串的反转: 方法一: public class reverseString { public static void main(String[] args) { String s ...
- Objective-C:字符串的反转Reverse
OC中字符串的反转方式可以用两种方式来处理: 第一种:从头到尾取出字符串的每一个字符,然后将其从尾到头添加到可变的字符串中,最后输出即可. 第二种:将OC内部的字符串转换为C语言中的字符串,然后动态分 ...
- 判断A字符串是B字符串的反转
先将其中一个字符串进行反转操作,然后两个字符串进行判断. 1.反转 /** * 字符串反转 * @param str * @return */ private static String conver ...
- C# 字符串 分割 反转 Base64
"; //字符串 ToBase64 byte[] bytes = Encoding.Default.GetBytes(pwd); pwd = Convert.ToBase64String(b ...
- 将一个字符串进行反转:将字符串中指定部分进行反转。比如“abcdefg”反转为”abfedcg”
将一个字符串进行反转:将字符串中指定部分进行反转.比如"abcdefg"反转为"abfedcg"方式一:转换为char[] public String reve ...
- 【算法训练营day8】LeetCode344. 反转字符串 LeetCode541. 反转字符串II 剑指Offer05. 替换空格 LeetCode151. 翻转字符串里的单词 剑指Offer58-II. 左旋转字符串
[算法训练营day8]LeetCode344. 反转字符串 LeetCode541. 反转字符串II 剑指Offer05. 替换空格 LeetCode151. 翻转字符串里的单词 剑指Offer58- ...
- (C#) 反转字符串,反转一个句子中单词。
这个是非常基本的一道面试题,但是要考虑周全. 首先反转一个字符串: 基本思路是变成Char数组,然后调用C#里面的方法,或者设定两个index,从头,尾向中间遍历,并交换. 方法一: Array.Re ...
- 在java中如何实现字符串的反转
如 "abcdt" 反转之后是 "tdcba" 思路1: 运用递归的方法进行反转 假设反转方法为 reverseString(String str)1)当字符串 ...
随机推荐
- 开源java
http://code.google.com/p/nullpomino/source/checkout http://www.open-open.com/open254058.htm http://w ...
- Building a Space Station
poj2031:http://poj.org/problem?id=2031 题意:就是给出三维坐标系上的一些球的球心坐标和其半径,搭建通路,使得他们能够相互连通.如果两个球有重叠的部分则算为已连通, ...
- POJ-3204-Ikki's Story I - Road Reconstruction(最大流)
题意: 给一个有向图 求给那些边增加容量能增加总的流量,求边的条数 分析: 一开始求的是割边,结果wa了,那是因为有些割边增加了容量,但总的容量也不会增加 只有满流的边并且从源点汇点都有一条可扩展的路 ...
- hdu-1890-Robotic Sort splay区间翻转
题意: 依次找第i大的数下标pos[i],然后将区间[i,pos[i]]翻转 分析: splay树区间翻转 // File Name: ACM/HDU/1890.cpp // Author: Zlbi ...
- POJ-1151-Atlantis(线段树+扫描线+离散化)[矩形面积并]
题意:求矩形面积并 分析:使用线段树+扫描线...因为坐标是浮点数的,因此还需要离散化! 把矩形分成两条边,上边和下边,对横轴建树,然后从下到上扫描上去,用col表示该区间有多少个下边,sum代表该区 ...
- Android Weekly Notes Issue #239
Android Weekly Issue #239 January 8th, 2017 Android Weekly Issue #239 本期内容包括: Android Things开发; Andr ...
- 数据结构——UVA 1600 机器人巡逻
描述 A robot has to patrol around a rectangular area which is in a form of mxn grid (m rows and n colu ...
- vijosP1194 Domino
vijosP1194 Domino 链接:https://vijos.org/p/1194 [思路] 矩阵相乘. 参考Matrix67的文章: [代码] #include<cstdio> ...
- Appium移动自动化测试(二)--安装Android开发环境(转)
Appium移动自动化测试(二)--安装Android开发环境 2015-06-04 17:30 by 虫师, 35299 阅读, 23 评论, 收藏, 编辑 继续Appium环境的搭建. 第二节 ...
- redis学习心得之一【安装redis初体验】
在linux下安装redis 说起这个比mysql的安装过程简单多乐,它不需要configure,只需要解压之后make就可以,无需make install ~$ wget http://redis. ...