`
xzwaa2011
  • 浏览: 985 次
  • 性别: 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 }
分享到:
评论

相关推荐

    数据结构-反转数字-java(csdn)————程序.pdf

    首先,将整数 x 转换为字符串,然后将字符串分割成字符数组,接着使用双指针技术将字符数组反转,最后将反转后的字符数组连接成字符串,并使用 Integer.parseInt() 方法将其转换回整数。 3. 溢出处理:在反转数字时...

    【案例5-2】模拟默认密码自动生成.docx

    // 在方法中将字符串倒着遍历,然后把每一个得到的字符拼接成一个字符串并且返回 for (int i = s.length()-1; i &gt;=0; i--) { ss += s.charAt(i); } return ss; } } ``` #### 五、案例总结 通过本案例的学习...

    java 中文乱码 处理

    以上介绍了几种常见的Java中文乱码处理方法,包括请求参数编码转换、字符串转义与反转义、前端JavaScript处理以及配置J2EE应用程序。每种方法都有其适用场景,开发者可以根据实际情况选择合适的方法来解决乱码问题。...

    第二届全国软件专业人才设计与开发大赛 JAVA专科组试题

    这些题目都考察了Java的基础知识,包括数组操作、循环、数学计算、字符串处理以及对象方法的使用。此外,还强调了问题解决策略,如动态计算总和、距离转换和最值查找。参赛者需要具备扎实的编程基础,理解算法,并...

    2021计算机二级测试Java试题.docx

    23. StringBuffer的reverse()方法会反转字符串,所以"abcde"反转后为"edcba"。 24. System类中的属性和方法都是静态的,直接调用System类即可使用。 25. String类的length()方法返回字符串字符个数。 26. Random类...

    java代码-十进制转为二进制

    注意,`toBinaryString()` 方法返回的是一个字符串,因为二进制数在 Java 中通常以字符串形式表示。 另一种方法是使用位运算符。通过右移(&gt;&gt;&gt;)和与(&)操作,可以手动实现十进制到二进制的转换。以下是一个简单...

    Java就业笔试题大全

    给定一个`Date`对象,可以通过创建一个`SimpleDateFormat`实例,然后调用其`format()`方法将日期转换为指定格式的字符串。 5. **素数判断**: 判断一个整数是否为素数,可以通过遍历从2到该数平方根的所有整数,...

    java代码-十进制转二进制

    最后,通过调用`reverse()`方法将字符串反转,得到正确的二进制表示。在`main`方法中,我们创建了一个示例的十进制数`decimalNumber`,并调用`decimalToBinary`方法将其转换为二进制,然后打印出来。 除了上述的位...

    java代码-十进制转换二进制

    1. Java中的`Integer.toBinaryString()`方法:如果希望使用内置方法,可以调用 `Integer.toBinaryString()` 直接将整数转换为二进制字符串,如 `System.out.println(Integer.toBinaryString(13));`。 2. 位运算:在...

    java代码-十进制转换为二进制

    以下是一个基本的Java方法,用于将十进制整数转换为二进制字符串: ```java public static String decimalToBinary(int decimalNumber) { StringBuilder binaryString = new StringBuilder(); while (decimal...

    java代码-任意给出一个十进制整数,将十进制整数转换为二进制数。

    - 在上述示例中,我们经常需要将构建的二进制字符串反转,因为二进制转换是从高位到低位进行的,而我们通常希望二进制数从低位到高位排列。 9. **README.txt**: 这个文件通常包含项目、代码或者任务的简要说明,...

    java代码-36 林志鹏 十进制转二

    最后,反转字符串以得到正确的二进制表示。 4. **数学公式法**: 另一种方法是利用数学公式,比如 \(bin(n) = n mod 2 + 2 \cdot bin(n/2)\),其中 \(bin(n)\) 是n的二进制表示。这种方法涉及递归,通常不那么常见...

    java代码-2.任意给出一个十进制整数,将十进制整数转换为二进制数。

    这是Java标准库提供的一个便捷方法,可以直接将整数转换为二进制字符串。例如: ```java int decimalNumber = 42; String binaryString = Integer.toBinaryString(decimalNumber); System.out.println(binary...

    java代码-ll 十进二

    // 反转字符串,得到正确的顺序 System.out.println(binaryString); // 输出 "1010" ``` 在`main.java`文件中,可能包含了以上的一种或两种实现方式。`README.txt`文件通常用来提供代码的说明和使用指南,包括...

    java代码-求任意给出一个十进制整数,将十进制整数转换为二进制数。

    `Integer.toBinaryString()` 是Java中内置的静态方法,它接受一个整数作为参数,并返回该整数的二进制表示形式的字符串。例如: ```java int decimalNumber = 10; String binaryString = Integer....

    循环类型题

    - 字符串遍历:逐个检查字符串中的字符。 - 计数器:记录特定字符出现的次数。 - **实现方法**: - 使用`for`循环遍历字符串。 - 对比当前字符是否为目标字符,如果是则计数器加1。 **15. 五个学生的平均成绩...

Global site tag (gtag.js) - Google Analytics