java实现字符串的逆向输出——单词保持原样和单词也逆向输出
来源:互联网 发布:crm软件系统功能 编辑:程序博客网 时间:2024/05/16 10:10
上篇博文中的代码实现了整个字符串的逆向输出,但是对于单个单词来讲保持原有字母顺序不变,可参见上一篇博文,这次的代码可以实现字符串的完全逆向输出,单个单词的字母顺序也能反转,而且是七种方式,参考内容在此,代码如下:
import java.util.Stack;public class A{public static void main(String[] args){System.out.println("use method reverse1(String s): ");System.out.println(reverse1("I love you"));System.out.println("use method reverse2(String s): ");System.out.println(reverse2("I love you"));System.out.println("use method reverse3(String s): ");System.out.println(reverse3("I love you"));System.out.println("use method reverse4(String s): ");System.out.println(reverse4("I love you"));System.out.println("use method reverse5(String s): ");System.out.println(reverse5("I love you"));System.out.println("use method reverse6(String s): ");System.out.println(reverse6("I love you"));System.out.println("use method reverse7(String s): ");System.out.println(reverse7("I love you"));}public static String reverse1(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 reverse1(right) + reverse1(left); } public static String reverse2(String s) { int length = s.length(); String reverse = ""; for (int i = 0; i < length; i++) reverse = reverse + s.charAt(i);// this is a really strategically way return reverse; } public static String reverse3(String s) { char[] array = s.toCharArray(); String reverse = ""; for (int i = array.length - 1; i >= 0; i--) reverse += array[i]; return reverse; } public static String reverse4(String s) { return new StringBuffer(s).reverse().toString(); } public static String reverse5(String orig) { char[] s = orig.toCharArray(); int n = s.length - 1; int halfLength = n / 2; for (int i = 0; i <= halfLength; i++) { char temp = s[i]; s[i] = s[n - i]; s[n - i] = temp; } return new String(s); } public static String reverse6(String s) { char[] str = s.toCharArray(); int begin = 0; int end = s.length() - 1; while (begin < end) { str[begin] = (char) (str[begin] ^ str[end]); str[end] = (char) (str[begin] ^ str[end]); str[begin] = (char) (str[end] ^ str[begin]); begin++; end--; } return new String(str); } public static String reverse7(String s) { char[] str = s.toCharArray(); Stack<Character> stack = new Stack<Character>(); for (int i = 0; i < str.length; i++) stack.push(str[i]); String reversed = ""; for (int i = 0; i < str.length; i++) reversed += stack.pop(); return reversed; }}
运行结果如下:
0 0
- java实现字符串的逆向输出——单词保持原样和单词也逆向输出
- 字符串相关的操作练习 翻转单词;统计单词数;逆向输出单词串
- 字符串的逆向输出
- java实现字符串逆向输出(续)
- 逆向输出字符串
- 逆向输出一个字符串
- 字符串语句逆向输出
- 递归逆向输出字符串
- 字符串逆向输出
- 12:字符串逆向输出
- java实现单词倒序输出
- 汇编实现输入字符串逆向输出
- 递归实现字符串数组逆向输出
- 逆向输出的数字
- 数组的逆向输出
- C++实现string类字符串单词的逆序输出
- Java 按单词倒序输出字符串
- 逆向输出
- POJ1833\next_permutation()
- U盘启动安装Cent0S 6.4安装中问题:安装程序试图挂载映像#1,但在硬盘上无法找到该映像...
- mac系统的重装遇到的问题以及解决
- C中关于常量的概念
- Android 的事件分发机制(二)---ViewGroup的事件传递
- java实现字符串的逆向输出——单词保持原样和单词也逆向输出
- 求余求整
- 【基于Jsoup】Android_App暴走笑话开发
- 《程序员的自我修养》--读书笔记
- lijhtoj Integer Divisibility (简单同余数题)
- ASP.NET MVC分页
- 远处的梦想
- 慧都控件网 2015-05-26 05:02:00 阅读(6098) 评论(0) 在上一篇程序员最喜爱的12个Android应用开发框架(一)中,我们为大家介绍了前6个Android应用开发框
- HDU 3681Prison Break(BFS+二分+状态压缩DP)