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
java几种字符串反转的更多相关文章
- python——3种字符串反转方法
在学习过程中,总结了3种字符串反转方法: 1.切片法 这种方法最为简便 str='abad' print(str[::-1]) · 用切片操作,将字符串以步长-1重新整理,即 'str[-1],str ...
- java笔试之字符串反转
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串. package test; import java.util.Scanner; public class exam04 { public ...
- Java算法之字符串反转分析
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 在基本的工作内容开发中,算法不会显得那么重要,而在百万级别的时候,差距非常大,今天带大家研究下常见的 ...
- Java 练习:字符串反转
package com.swift; public class String_Reverse_Test { public static void main(String[] args) { /* * ...
- 【转】Java 5种字符串拼接方式性能比较。
最近写一个东东,可能会考虑到字符串拼接,想了几种方法,但对性能未知,于是用Junit写了个单元测试. 代码如下: import java.util.ArrayList; import java.uti ...
- Java 5种字符串拼接方式性能比较。
最近写一个东东,可能会考虑到字符串拼接,想了几种方法,但对性能未知,于是用Junit写了个单元测试. 代码如下: import java.util.ArrayList; import java.uti ...
- Java 5种字符串拼接方式性能比较
http://blog.csdn.net/kimsoft/article/details/3353849 import java.util.ArrayList; import java.util.Li ...
- java四种字符串拼接方式
1.直接用"+"号 2.使用String的方法concat 3.使用StringBuilder的append 4.使用StringBuffer的append
- Java实现字符串反转的8种方法
/** * */ package com.wsheng.aggregator.algorithm.string; import java.util.Stack; /** * 8 种字符串反转的方法, ...
随机推荐
- gcc/g++命令认识
gcc & g++是gnu中最主要和最流行的c & c++编译器 . g++用来针对c++的处理命令,以.cpp为后缀,对于c语言后缀名一般为.c.这时候命令换做gcc即可. 下面以T ...
- 安装python-MySQLdb 出现error: command 'gcc' failed with exit status 1的解决方法
>>> yum install MySQL-p* >>>yum install python-devel >>>cd MySQL-python-1 ...
- auto_ptr, which can release the space automatically
C++的auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理. 使用std::auto_ptr,要#include <memory>.[1] 中文名 自动指针 外 ...
- C# mvc 验证码2
public class ValidateCode { /// <summary> /// 產生圖形驗證碼. /// </su ...
- spm使用之二兼谈spm的贱格
上一篇还没写完, 因为我觉得太长了, 影响阅读, 就截断继续写. 因为还没有写到修改 创建模块的模板啊. 之所以想到要修改spm用来创建模块的模板, 是因为, 有一天我突然上不了网了, 发现spm完全 ...
- LA 3904
一道DP题: 一共有三种砖,1*2,2*1,2*2,然后要你铺满整个n*2的地板,求不重复的铺法数: 方法: 首先计算了不考虑对称的情况,然后计算只考虑对称的情况: 所以结果就是(不考虑对称数+只考虑 ...
- 纯CSS实现delay连续动画
从前css3还没出来的时候,用jquery的delay方法可以串起一个一个独立的动画片段. 那么在不使用jquery的平台上,如何借助css3来完成一些列动作呢? 有高人做了一个动感十足的人物动画: ...
- Alice's Chance
poj1698:http://poj.org/problem?id=1698 题意:爱丽丝要拍电影,有n部电影,规定爱丽丝每部电影在每个礼拜只有固定的几天可以拍电影,只可以拍前面w个礼拜,并且这部电影 ...
- Android 文件上传 使用AsyncHttpClient开源框架
public void upload(View view) { AsyncHttpClient client = new AsyncHttpClient(); RequestParams reques ...
- python2.7中使用mysql (windows XP)
一.首先下载mysql—python模块,下载完毕之后会有一个MySQL-python-1.2.3.win32-py2.7.exe文件,点击安装一路next,ok. 二.编辑配置文件(setting. ...