字符串反转的三种方法

来源:互联网 发布:北京软件学院 编辑:程序博客网 时间:2024/06/05 00:25
package zifuchuan;/** * Created by Administrator on 2017/9/23. */public class ReverseString {    public static  void main(String[] args){        String str = "abcdef";        //方法1,字符串不可编辑,
       //时间复杂度O(N),N是字符串的长度,空间复杂度O(N)
/*int i,len=str.length(); StringBuffer sb = new StringBuffer(); for(i=len-1;i>=0;i--){ sb.append(str.charAt(i)); }*/ //方法2,字符串可编辑,
       // 时间复杂度O(N),N是字符串的长度,空间复杂度O(N)
/*char temp; int start=0,end=str.length(); char[] string = str.toCharArray(); for(start=0;start<end;start++,end--){ temp=string[start]; string[start]=string[end-1]; string[end-1]=temp; } for(int i=0;i<string.length;i++){ System.out.print(string[i]);}*/ //方法3,不使用任何临时变量实现字符串反转,
       //时间复杂度O(N),N是字符串的长度,空间复杂度O(N)
char[] string = str.toCharArray(); int end = str.length()-1; for (int i=0;i<end;i++,end--){ string[i]^=string[end]; string[end]^=string[i]; string[i]^=string[end]; } for(int i=0;i<string.length;i++){ System.out.print(string[i]);} }}
原创粉丝点击