String——反转单词顺序VS左旋字符串
2016-05-12 16:16
441 查看
题目一:反转单词顺序
String.split(String regex)
根据给定正则表达式的匹配拆分此字符串。
该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。
例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果:
Regex
结果
:
{ "boo", "and", "foo" }
o
{ "b", "", ":and:f" } 此处发现结尾的两个"oo"间没有""
题目二:左旋字符串
从分割点划分,先整体反转字符串,再分别反转前半部分和后半部分。
String.split(String regex)
根据给定正则表达式的匹配拆分此字符串。
该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。
例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果:
Regex
结果
:
{ "boo", "and", "foo" }
o
{ "b", "", ":and:f" } 此处发现结尾的两个"oo"间没有""
public String ReverseSentence(String str) { if(str==null||str.trim().equals("")) return str; String []strs=str.split(" "); StringBuilder sb=new StringBuilder(); for(int i=strs.length-1;i>=1;i--) { sb.append(strs[i]); sb.append(" "); } sb.append(strs[0]); return new String(sb); }
题目二:左旋字符串
从分割点划分,先整体反转字符串,再分别反转前半部分和后半部分。
public class Solution { public String LeftRotateString(String str,int n) { if(str == null||n>=str.length()) return str; char[]ch=str.toCharArray(); swap(ch,0,n-1); swap(ch,n,ch.length-1); swap(ch,0,ch.length-1); return String.valueOf(ch); } public void swap(char[]ch,int begin,int end) { while(begin<end) { char temp=ch[begin]; ch[begin]=ch[end]; ch[end]=temp; begin++; end--; } } }
相关文章推荐
- jQuery中$.each()函数的用法引申实例
- Memcache升级版:CouchBase的安装配置与使用说明
- 高质量C编程03-内存
- Android 5.X新特性之为RecyclerView添加下拉刷新和上拉加载及SwipeRefreshLayout实现原理
- Linux Wireless Programming (1)
- .net Image Resize
- 实现一个固定长度的集合,每个1s中刷新一次,第一个元素去掉,从最后面添加一个元素。
- vs2008 the operation could not be completed. 未指定的错误
- Spark学习笔记:初识Spark
- 轻+计步相关实现
- springMVC采用POST方法接收json合适的参数
- Struts2实现简单分页
- ubuntu14.04下获得usr粘贴修改权限方式
- shell-1.shell注释
- sourcetree for mac 安装
- 项目二 实现复数类中的运算符重载(2)
- ParseCommandLine解析路径中包含空格时中断,开机启动项中路径包含空格中断
- Mybatis 示例之 SelectKey
- Unix环境高级编程(阅读笔记)-----kill、raise、alarm、pause函数
- Python字符串编码详解