zoukankan      html  css  js  c++  java
  • java几种字符串反转

    java实现的字符串翻转,能想到的这几种方法

    假设有其它方法,欢迎交流

    //字符串反转
    public class ReverseString {
    	public String reverse1(String str){
    		StringBuffer sb = new StringBuffer(str);
    		str = sb.reverse().toString();
    		return str;
    	}
    	
    	public String reverse2(String str){
    		char[] ch = str.toCharArray();
    		StringBuffer sb = new StringBuffer();
    		for(int i=ch.length;i>0;i--){
    			sb.append(ch[i-1]);
    		}
    		return sb.toString();
    	}
    	
    	public String reverse3(String str){
    		StringBuffer sb = new StringBuffer();
    		for(int i=str.length()-1;i>=0;i--){
    			sb.append(str.charAt(i));
    		}
    		return sb.toString();
    	}
    	
    	//O(logn)
    	public String reverse4(String str){
    		char[] a = str.toCharArray();
    		for(int i=0;i<str.length()/2;i++){
    			char temp = a[i];
    			a[i] = a[a.length-i-1];
    			a[a.length-i-1] = temp;
    		}
    		return String.valueOf(a);
    	}
    	
    	public String reverse5(String str,int start,int end){
    		int i=start;
    		int j=end;
    		char[] a = str.toCharArray();
    		while(i<j){
    			char temp = a[i];
    			a[i] = a[j];
    			a[j] = temp;
    			i++;
    			j--;
    		}
    		return String.valueOf(a);
    	}
    	
    	public static void main(String[] arg){
    		ReverseString rs = new ReverseString();
    		String str = "a213aa d43d ddfs";
    		String s = rs.reverse1(str);
    		System.out.println("reverse1:"+s);
    		s = rs.reverse2(str);
    		System.out.println("reverse2:"+s);
    		s = rs.reverse3(str);
    		System.out.println("reverse3:"+s);
    		s = rs.reverse4(str);
    		System.out.println("reverse4:"+s);
    		s = rs.reverse5(str,0,str.length()-1);
    		System.out.println("reverse5:"+s);
    	}
    }


    转载请注明:http://blog.csdn.net/df1012890048  


  • 相关阅读:
    安装mysql-python:EnvironmentError: mysql_config not found
    github中non-fast-forward错误的解决
    centos 6.X 安装scrapy-原创
    如何解决php 生成验证码图片不显示问题
    Centos 6.4 python 2.6 升级到 2.7
    ubuntu默认防火墙
    Ubuntu 14.04 为 root 帐号开启 SSH 登录
    git配置ssh非默认端口
    jquery 选择器,模糊匹配
    CURD方法盘点:where方法-THINKPHP
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4030319.html
Copyright © 2011-2022 走看看