1. 程式人生 > >java實現字串逆轉

java實現字串逆轉

</pre><pre name="code" class="java">public class ReverseString {
public static void main(String[] args){
	System.out.println(reverse("abcdefghigklmnopqistuvwxyz"));
	
	System.out.println(stringBuilderReverse("abcdefghigklmnopqistuvwxyz"));
}


/* 方法一
 <span style="font-family: Arial, Helvetica, sans-serif;">* 使用反向遍歷再拼接字元的方法實現字串逆轉</span>
 * 思路:
 * 通過toCharArray()方法先將字串轉成字元陣列
 * 再通過for迴圈遍歷字元陣列
 * 
 * 這種方法會產生大量字串常量
 */
public static String reverse(String s){
	char[] ch = s.toCharArray();
	String result = "";
	for(int i = ch.length - 1; i >= 0; i--){
		result+=ch[i];
	}
	return result;
}


/* 方法二
 * 通過StringBuild類實現字串逆轉
 * 思路:
 * 將字串轉換成StringBuild物件
 * 利用StringBuild物件的reverse()方法實現逆轉,但是返回值仍是StringBuild型別
 * 所以再使用StringBuild物件的substring()方法將StringBuild型別的字串轉換成Sring型別
 * 
 * 這種方法只要三行程式碼就實現字串逆轉,比上面方法好多了
 */
public static String stringBuilderReverse(String s){
	StringBuilder sb = new StringBuilder(s);
	sb.reverse();
	return sb.substring(0);
}
}
方法三: 通過遞迴實現字串反轉
public static String reverse(String originStr) {
<span style="white-space:pre">		</span>if(originStr == null || originStr.length() <= 1) 
<span style="white-space:pre">			</span>return originStr;
<span style="white-space:pre">		</span>return reverse(originStr.substring(1)) + originStr.charAt(0);
<span style="white-space:pre">	</span>}