给大家介绍其中常用和不常用的将字符串翻转过来的方法: 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 |
} |
原文:http://blog.csdn.net/urtheappleinmyeye/article/details/19834269