引用: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 }
分享到:
相关推荐
首先,将整数 x 转换为字符串,然后将字符串分割成字符数组,接着使用双指针技术将字符数组反转,最后将反转后的字符数组连接成字符串,并使用 Integer.parseInt() 方法将其转换回整数。 3. 溢出处理:在反转数字时...
// 在方法中将字符串倒着遍历,然后把每一个得到的字符拼接成一个字符串并且返回 for (int i = s.length()-1; i >=0; i--) { ss += s.charAt(i); } return ss; } } ``` #### 五、案例总结 通过本案例的学习...
以上介绍了几种常见的Java中文乱码处理方法,包括请求参数编码转换、字符串转义与反转义、前端JavaScript处理以及配置J2EE应用程序。每种方法都有其适用场景,开发者可以根据实际情况选择合适的方法来解决乱码问题。...
这些题目都考察了Java的基础知识,包括数组操作、循环、数学计算、字符串处理以及对象方法的使用。此外,还强调了问题解决策略,如动态计算总和、距离转换和最值查找。参赛者需要具备扎实的编程基础,理解算法,并...
23. StringBuffer的reverse()方法会反转字符串,所以"abcde"反转后为"edcba"。 24. System类中的属性和方法都是静态的,直接调用System类即可使用。 25. String类的length()方法返回字符串字符个数。 26. Random类...
注意,`toBinaryString()` 方法返回的是一个字符串,因为二进制数在 Java 中通常以字符串形式表示。 另一种方法是使用位运算符。通过右移(>>>)和与(&)操作,可以手动实现十进制到二进制的转换。以下是一个简单...
给定一个`Date`对象,可以通过创建一个`SimpleDateFormat`实例,然后调用其`format()`方法将日期转换为指定格式的字符串。 5. **素数判断**: 判断一个整数是否为素数,可以通过遍历从2到该数平方根的所有整数,...
最后,通过调用`reverse()`方法将字符串反转,得到正确的二进制表示。在`main`方法中,我们创建了一个示例的十进制数`decimalNumber`,并调用`decimalToBinary`方法将其转换为二进制,然后打印出来。 除了上述的位...
1. Java中的`Integer.toBinaryString()`方法:如果希望使用内置方法,可以调用 `Integer.toBinaryString()` 直接将整数转换为二进制字符串,如 `System.out.println(Integer.toBinaryString(13));`。 2. 位运算:在...
以下是一个基本的Java方法,用于将十进制整数转换为二进制字符串: ```java public static String decimalToBinary(int decimalNumber) { StringBuilder binaryString = new StringBuilder(); while (decimal...
- 在上述示例中,我们经常需要将构建的二进制字符串反转,因为二进制转换是从高位到低位进行的,而我们通常希望二进制数从低位到高位排列。 9. **README.txt**: 这个文件通常包含项目、代码或者任务的简要说明,...
最后,反转字符串以得到正确的二进制表示。 4. **数学公式法**: 另一种方法是利用数学公式,比如 \(bin(n) = n mod 2 + 2 \cdot bin(n/2)\),其中 \(bin(n)\) 是n的二进制表示。这种方法涉及递归,通常不那么常见...
这是Java标准库提供的一个便捷方法,可以直接将整数转换为二进制字符串。例如: ```java int decimalNumber = 42; String binaryString = Integer.toBinaryString(decimalNumber); System.out.println(binary...
// 反转字符串,得到正确的顺序 System.out.println(binaryString); // 输出 "1010" ``` 在`main.java`文件中,可能包含了以上的一种或两种实现方式。`README.txt`文件通常用来提供代码的说明和使用指南,包括...
`Integer.toBinaryString()` 是Java中内置的静态方法,它接受一个整数作为参数,并返回该整数的二进制表示形式的字符串。例如: ```java int decimalNumber = 10; String binaryString = Integer....
- 字符串遍历:逐个检查字符串中的字符。 - 计数器:记录特定字符出现的次数。 - **实现方法**: - 使用`for`循环遍历字符串。 - 对比当前字符是否为目标字符,如果是则计数器加1。 **15. 五个学生的平均成绩...