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 种字符串反转的方法, ...
随机推荐
- python包管理器pip
步骤一:下载pip包 https://pypi.python.org/pypi/pip 步骤二:安装pip包 解压后,到pip包目录执行: python setup.py install 步骤三:添加 ...
- Winbind authentication against active directory
Winbind authentication against active directory Description This tip will describe how to configure ...
- C#让程序自动在管理员权限下运行
windows 7和vista提高的系统的安全性,同时需要明确指定“以管理员身份运行”才可赋予被运行软件比较高级的权限,比如访问注册表等.否则,当以普通身份运行的程序需要访问较高级的系统资源时,将会抛 ...
- X/Open DTP——分布式事务模型
转载:http://www.cnblogs.com/aigongsi/archive/2012/10/11/2718313.html 这一几天一直在回顾事务相关的知识,也准备把以前了解皮毛的知识进行一 ...
- c# 把 颜色值Hex 转换为 Color
原文: http://abujj.me/archives/695 Assuming you mean the HTML type RGB codes (called Hex codes, such a ...
- 【MyBatis学习笔记】
[MyBatis学习笔记]系列之预备篇一:ant的下载与安装 [MyBatis学习笔记]系列之预备篇二:ant入门示例 [MyBatis学习笔记]系列之一:MyBatis入门示例 [MyBatis学习 ...
- Delphi常用排序
1.冒泡排序 Delphi/Pascal code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 procedure BubbleSort(var x:a ...
- 查看TEMP使用情况
SQL> select * from v$mystat where rownum<2; SID STATISTIC# VALUE ---------- ---------- ---- ...
- 从 mian 函数开始一步一步分析 nginx 执行流程(一)
如不做特殊说明,本博客所使用的 nginx 源码版本是 1.0.14,[] 中是代码所在的文件! 我们先贴出 main 函数的部分代码: [core/nginx.c] int ngx_cdecl ma ...
- Linux学习笔记2——Linux中常用文件目录操作命令
ls 显示文件和目录列表 -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 mkdir 创建目录 -p 父目录不存在情况下先生成父目录 cd 切换目录 touch 生成一个空文件 e ...