总结java将字符串反转的7个方法

以下是收集的7种字符串反转的java方法,每个性能和难度不一样,我们可以选择一种最适合自己的。

import java.util.Stack;

public class StringReverse {

// 方法一

 public static String reverse1(String s) {
  int length = s.length();
  if (length <= 1)
   return s;
  String left = s.substring(0, length / 2);
  String right = s.substring(length / 2, length);
  return reverse1(right) + reverse1(left);
 }
 

// 方法二

 public static String reverse2(String s) {
  int length = s.length();
  String reverse = "";
  for (int i = 0; i < length; i++)
   reverse = s.charAt(i) + reverse;
  return reverse;
 }

// 方法三

 
 public static String reverse3(String s) {
  char[] array = s.toCharArray();
  String reverse = "";
  for (int i = array.length - 1; i >= 0; i--)
   reverse += array[i];
 
  return reverse;
 }

// 方法四

 public static String reverse4(String s) {
  return new StringBuffer(s).reverse().toString();
 }

// 方法五

 
 public static String reverse5(String orig) {
  char[] s = orig.toCharArray();
  int n = s.length - 1;
  int halfLength = n / 2;
  for (int i = 0; i <= halfLength; i++) {
   char temp = s[i];
   s[i] = s[n - i];
   s[n - i] = temp;
  }
  return new String(s);
 }
 

// 方法六

 public static String reverse6(String s) {
 
  char[] str = s.toCharArray();
 
  int begin = 0;
  int end = s.length() - 1;
 
  while (begin < end) {
   str[begin] = (char) (str[begin] ^ str[end]);
   str[end] = (char) (str[begin] ^ str[end]);
   str[begin] = (char) (str[end] ^ str[begin]);
   begin++;
   end--;
  }
 
  return new String(str);
 }
 

// 方法七

 public static String reverse7(String s) {
  char[] str = s.toCharArray();
  Stack<Character> stack = new Stack<Character>();
  for (int i = 0; i < str.length; i++)
   stack.push(str[i]);
 
  String reversed = "";
  for (int i = 0; i < str.length; i++)
   reversed += stack.pop();
 
  return reversed;
 }
 
}

个人认为,第一个和第四个不错,适合我。

时间: 2024-10-04 00:19:29

总结java将字符串反转的7个方法的相关文章

用 ava实现字符串反转-用Java实现字符串反转

问题描述 用Java实现字符串反转 解决方案 这么多种,自己看吧http://www.oschina.net/code/snippet_12_9060 解决方案二: java里哪里来的指针?你的题目分明是C的.再说,这种问题自己google就有结果了. 解决方案三: public class test{public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("&

java判断字符串是否有逗号的方法_java

如下所示: if(str.indexOf(",") >= 0) System.out.println("字符串中有逗号"); 以上这篇java判断字符串是否有逗号的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js判断字符串含有逗号.js判断字符串包含逗号.java逗号分割字符串.java以逗号分割字符串.

java判断字符串是否为数字的方法小结_java

本文实例总结了java判断字符串是否为数字的方法.分享给大家供大家参考,具体如下: 方法一:用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = str.length();--i>=0;){ if (!Character.isDigit(str.charAt(i))){ return false; } } return true; } 方法二:用正则表达式 public static boolean isNume

Java判断字符串中是否包含中文方法_java

今天和同事在讨论一个问题,需要检查"输入的字符串中是否包含中文",刚开始想到是用正则表达式,正则表达式中是以[u4e00-u9fa5]来全匹配字符是否是中文,但现在面临的问题是这个字符串中还可能包含英文字符.数字.特殊字符,一时也没想出能匹配该场景的正则表达式,后来在网上搜了下,可以使用Matcher类来解决该问题,大致的代码实现如下: import java.util.regex.Matcher; import java.util.regex.Pattern; public clas

Java处理字符串搜索嵌套结构的方法

在用Java分析HTML文本时,如果要取出有嵌套结构的节点之间的内容,不能直接用正则表达式来处理,因为Java所带的正则表达式不支持嵌套结构的描述,虽然Perl..Net.PHP可以支持.这时可以先用正则表达式找出节点在字符串中的位置,然后对节点进行匹配处理,取出匹配节点之间的内容,实现对嵌套结构的处理. 例如要从 <pre name="code" class="java">data=<div><div>abcd<div&g

javascript 实现字符串反转的三种方法_javascript技巧

第一种方法 复制代码 代码如下: var str = "abcdef"; console.log( str.split("").reverse().join("") ): 第二种方法: 复制代码 代码如下: var str="abcdef" var i=str.length; i=i-1; for (var x = i; x >=0; x--) { document.write(str.charAt(x)); } 第三种

php实现字符串反转输出的方法

 本文实例讲述了php实现字符串反转输出的方法.分享给大家供大家参考.具体分析如下: php中带有一个很简单的函数用于字符串反转,即strrev() <?php print strrev('This is not a palindrome.'); ?> 输出结果如下 .emordnilap a ton si sihT 希望本文所述对大家的php程序设计有所帮助. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php ,

php实现字符串反转输出的方法_php技巧

本文实例讲述了php实现字符串反转输出的方法.分享给大家供大家参考.具体分析如下: php中带有一个很简单的函数用于字符串反转,即strrev() <?php print strrev('This is not a palindrome.'); ?> 输出结果如下 .emordnilap a ton si sihT 希望本文所述对大家的php程序设计有所帮助. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php ,

javascript实现字符串反转的方法_javascript技巧

本文实例讲述了javascript实现字符串反转的方法.分享给大家供大家参考.具体实现方法如下: //变量交换 方法 var a=0,b=1,c=2; a=[b,b=c,c=a][0]; //正文 var array='abcdefgh'; function Reverse(arr){ var arr1=arr.split('');//[a,b,c,d,e,f,g] var halfLen=Math.floor(arr.length/2);//3 alert(halfLen) var len=a