Java 字符串反转:七种字符串反转的方法
2013-09-13 14:39
387 查看
import java.util.Stack; public classStringReverse{ /** * @param s * @return */ publicstatic 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); } /** * @param s * @return */ publicstatic String reverse2(String s){ int length= s.length(); String reverse= ""; for(int i= 0; i< length; i++){ reverse = s.charAt(i)+ reverse; } return reverse; } /** * @param s * @return */ publicstatic String reverse3(String s){ char[] array= s.toCharArray(); String reverse= ""; for(int i= array.length- 1; i>= 0; i--){ reverse += array[i]; } return reverse; } /** * @param s * @return */ publicstatic String reverse4(String s){ returnnew StringBuffer(s).reverse().toString(); } /** * @param orig * @return */ publicstatic 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; } returnnew String(s); } /** * @param s * @return */ publicstatic String reverse6(String s){ char[] str= s.toCharArray(); intbegin = 0; intend = 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--; } returnnew String(str); } /** * @param s * @return */ publicstatic String reverse7(String s){ char[] str= s.toCharArray(); Stack<Character> stack= newStack<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; } /** * @param args */ publicstatic void main(String[] args) { System.out.println(reverse1("abcdefg")); System.out.println(reverse2("abcdefg")); System.out.println(reverse3("abcdefg")); System.out.println(reverse4("abcdefg")); System.out.println(reverse5("abcdefg")); System.out.println(reverse6("abcdefg")); System.out.println(reverse7("abcdefg")); } }
相关文章推荐
- java七种反转字符串的方法
- 【字符串反转总结】Java中七种方法实现
- 字符串反转的七种方法(java)
- Java中字符串反转的七种方法
- 【字符串反转总结】Java中七种方法实现
- 7 种将字符串反转的 Java 方法
- 7 种将字符串反转的 Java 方法
- Java实现字符串反转的几种方法
- 使用Java自带的方法反转字符串
- 7 种将字符串反转的 Java 方法
- 关于java中字符串反转的几种方法
- 三种JAVA常用实现字符串反转(Reverse)的方法
- 【Java基础】总结java将字符串反转的7个方法
- Java——模拟trim方法,与字符串反转
- 7 种将字符串反转的 Java 方法
- 7 种将字符串反转的 Java 方法
- 7 种将字符串反转的 Java 方法
- 七种字符串反转方法
- 7 种将字符串反转的 Java 方法
- 字符串反转的 Java 方法