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 种字符串反转的方法, ...
随机推荐
- Android开源项目(转载)
第一部分 界面 ImageView.ProgressBar及其他如Dialog.Toast.EditText.TableView.Activity Animation等等. 一.ListView an ...
- TaskMgr C#技术拾遗
1. DataGridView和ContextMenuStrip的绑定是发生在DataGridView的CellMouseClick事件,在事件中指定右键菜单弹出: 2. DataGridView的列 ...
- Meta 的两个 相关属性
Meta标签中的apple-mobile-web-app-status-bar-style属性及含义: “apple-mobile-web-app-status-bar-style”作用是控制状态栏显 ...
- MVC3的一个意外的异常 String was not recognized as a valid Boolean. @using (Html.BeginForm())
客户的网站放在一个虚拟空间,之间都没有修改过程序.可是网站的后台登录页面报错 String was not recognized as a valid Boolean. ,错误指向@using (H ...
- jsonp跨域问题记录
这段时间用H5做移动app开发,遇到不少之前做web的时候不曾遇到的问题,记录一下,共勉-- 首先说一个:js跨域取数的问题 描述: 之前做web都是通过后台获取数据,没考虑过跨域的问题.这次用h5 ...
- matlab读取指定路径下的图像
利用matlab读取指定路径下的图像 %% 读入指定路径imgFolder下的图像imgName imgFolder = 'F:\博\快盘\图像+数据\images\文章实验图'; %指定路径 img ...
- golang_protobuf环境搭建
搭建golang使用rotobuf使用环境 一 安装protobuf: 1 下载protobuf源码:https://github.com/google/protobuf 2 进入源码目录: ./au ...
- LeetCode(4) || Longest Palindromic Substring 与 Manacher 线性算法
LeetCode(4) || Longest Palindromic Substring 与 Manacher 线性算法 题记 本文是LeetCode题库的第五题,没想到做这些题的速度会这么慢,工作之 ...
- I2C读写时序
1. I2C写时序图: 注意:最后一个byte后,结束标志在第十个CLK上升沿之后: 2. I2C读时序图: 注意:restart信号格式:读操作结束前最后一组clk的最后一个上升沿,主机应发送NAC ...
- MYSQLl防注入
1.简单sql防注入 简述: 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令. 在某些表单中,用户输入的内容直接用来构造(或 ...