`
xzwaa2011
  • 浏览: 948 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

7中将字符串反转的Java方法

 
阅读更多
引用:http://www.oschina.net/code/snippet_12_9060
[代码] [Java]代码
view sourceprint?01 import java.util.Stack; 

02 public class StringReverse { 

03    

04  public static String reverse1(String s) { 

05   int length = s.length(); 

06   if (length <= 1) 

07    return s; 

08   String left = s.substring(0, length / 2); 

09   String right = s.substring(length / 2, length); 

10   return reverse1(right) + reverse1(left); 

11  } 

12    

13  public static String reverse2(String s) { 

14   int length = s.length(); 

15   String reverse = ""; 

16   for (int i = 0; i < length; i++) 

17    reverse = s.charAt(i) + reverse; 

18   return reverse; 

19  } 

20    

21  public static String reverse3(String s) { 

22   char[] array = s.toCharArray(); 

23   String reverse = ""; 

24   for (int i = array.length - 1; i >= 0; i--) 

25    reverse += array[i]; 

26    

27   return reverse; 

28  } 

29    

30  public static String reverse4(String s) { 

31   return new StringBuffer(s).reverse().toString(); 

32  } 

33    

34  public static String reverse5(String orig) { 

35   char[] s = orig.toCharArray(); 

36   int n = s.length - 1; 

37   int halfLength = n / 2; 

38   for (int i = 0; i <= halfLength; i++) { 

39    char temp = s[i]; 

40    s[i] = s[n - i]; 

41    s[n - i] = temp; 

42   } 

43   return new String(s); 

44  } 

45    

46  public static String reverse6(String s) { 

47    

48   char[] str = s.toCharArray(); 

49    

50   int begin = 0; 

51   int end = s.length() - 1; 

52    

53   while (begin < end) { 

54    str[begin] = (char) (str[begin] ^ str[end]); 

55    str[end] = (char) (str[begin] ^ str[end]); 

56    str[begin] = (char) (str[end] ^ str[begin]); 

57    begin++; 

58    end--; 

59   } 

60    

61   return new String(str); 

62  } 

63    

64  public static String reverse7(String s) { 

65   char[] str = s.toCharArray(); 

66   Stack<Character> stack = new Stack<Character>(); 

67   for (int i = 0; i < str.length; i++) 

68    stack.push(str[i]); 

69    

70   String reversed = ""; 

71   for (int i = 0; i < str.length; i++) 

72    reversed += stack.pop(); 

73    

74   return reversed; 

75  } 

76    

77 }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics