实现字符串反转
2016-04-01 20:53
387 查看
package exercise; /** * 实现一个字符串中字符顺序的反转 * @author lsq * */ public class StringInverseDemo { public static void main(String[] args) { String s = "abcdefg"; System.out.println(reverse1(s)); System.out.println(reverse2(s)); System.out.println(reverse3(s)); } /* * 方法一:把字符串转换成字符数组,然后遍历字符数组,注意这里从字符数组的角标从高向低遍历。 */ public static String reverse1(String s){ String reverse = ""; char[] cs = s.toCharArray(); for (int i = cs.length - 1; i >= 0; i--) { reverse = reverse + cs[i]; } return reverse; } /* * 方法二:采用二分方法,使用递归实现,copy别人的方法,思路真的太好了! */ public static String reverse2(String s){ int length = s.length(); if (length <= 1) return s; String left = s.substring(0, length/2); String right = s.substring(length/2, length); return reverse2(right) + reverse2(left); } /* * 方法三:直接使用StringBuffer的reverse方法进行字符串的反转,开发中可以直接调用该方法。注意最后要toString。 */ public static String reverse3(String s){ return new StringBuffer(s).reverse().toString(); } }
相关文章推荐
- 将博客搬至CSDN
- Socket编程
- Tricks(十八)—— 转置 list of lists
- Android Studio打包Android Library为jar方案
- 实现多线程有两种方法: Thread类继承和Runnable接口实现
- 网络:NSURLConnection 缓存
- rails中使用ajax
- POJ-1236-Network of Schools【强连通分量】【缩点】
- 网络:NSURLConnection队列
- 杭电1008
- hdu1596 find the safest road--多源最短路径
- 专题一 Problem K
- BaseAdapter使用与优化
- C++泛型编程总结(二)
- PHP文件上传设置和处理(多文件)
- 机器学习算法汇总:人工神经网络、深度学习及其它
- Light oj 1197 - Help Hanzo (素数筛技巧)
- Codeforces Round #346 (Div. 2) B. Qualifying Contest
- 初识Express框架-详细学习API
- hibernate多对一或一对多映射——单向