все вопросы по Java которые задают более 3х раз на форуме
Разворот строки
Запись от mutagen размещена 25.09.2012 в 01:02
Обновил(-а) mutagen 14.02.2013 в 19:26
способы возможно неидеальны, но задают тон 
Java | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
| import java.util.Stack;
public class StringReverser {
public static void main(String[] args) {
String candidate = "Строка для разворота.";
System.out.println(reverseByArray(candidate));
System.out.println(reverseByStack(candidate));
System.out.println(reverseByStringBuilder(candidate));
}
public static String reverseByArray(String s) {
char[] a = s.toCharArray();
char[] b = new char[a.length];
for (int i = 0; i < a.length; i++) {
b[(a.length - 1) - i] = a[i];
}
return new String(b);
}
public static String reverseByStringBuilder(String s) {
return new StringBuilder(s).reverse().toString();
}
public static String reverseByStack(String s) {
Stack<Character> st = new Stack<Character>();
for (Character character : s.toCharArray()) {
st.add(character);
}
StringBuilder sb = new StringBuilder();
while (st.size() > 0) {
sb.append(st.pop());
}
return sb.toString();
}
// от пользователя infected
public String reverseByRecuse(String str){
if (str.length() <= 1) return str;
String result = "";
result += str.charAt(str.length()-1) + reverse(str.substring(0,str.length()-1));
return result;
}
} |
|
|
Всего комментариев