高效简洁的字符串交换算法
2007-05-28 10:08
225 查看
本类针对经常见到的字符串移动操作,比如输入 "123456789",要求输出"678912345"。采用经典的"手摇算法",只需五行代码就完成了功能,hoho
public class Reverse {
public static void main(String[] args) {
Reverse reverse = new Reverse();
System.out.println(reverse.reverse("123456789",5));
}
public String reverse(String str,int position)
{
StringBuffer stringbuffer1 = new StringBuffer(str.substring(0,position));
stringbuffer1.reverse();
StringBuffer stringbuffer2 = new StringBuffer(str.substring(position,str.length()));
stringbuffer2.reverse();
return stringbuffer1.append(stringbuffer2).reverse().toString();
}
}
public class Reverse {
public static void main(String[] args) {
Reverse reverse = new Reverse();
System.out.println(reverse.reverse("123456789",5));
}
public String reverse(String str,int position)
{
StringBuffer stringbuffer1 = new StringBuffer(str.substring(0,position));
stringbuffer1.reverse();
StringBuffer stringbuffer2 = new StringBuffer(str.substring(position,str.length()));
stringbuffer2.reverse();
return stringbuffer1.append(stringbuffer2).reverse().toString();
}
}
相关文章推荐
- 求一个字符串中出现次数最多的字符的高效算法
- 查找某些字符是否在另一个字符串里出现的高效算法
- 霍纳算法,将十六进制字符串转换为十进制数的高效算法
- byte[]转换成16进制字符串的高效方法或算法
- 面试算法——3.从初始字符串开始,相邻交换,得到目标字符串
- 查找某些字符是否在另一个字符串里出现的高效算法
- 对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。
- 查找某些字符是否在另一个字符串里出现的高效算法
- byte[]转换成16进制字符串的高效方法或算法
- 字符串处理算法(三)按指定位置交换字符串两部分的位置
- [C/C++]_[初级]_[标准库之几种算法库函数的运用,如字符串查找(字符个数查找)、分隔、删除、替换、排序、字符交换位置、大小写转换等等]
- 翻转子串 假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次检查子串的函数。
- 算法面试字符串-题目3-交换*号
- 算法训练143.字符串交换
- 字符串循环移动-高效优雅算法
- Console-算法[for,if]-不用第三个变量,交换两字符串的值
- 数据结构与算法学习笔记之高效、简洁的编码技巧“递归”
- 对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。
- 字符串元素重排高效算法集合
- 字符串处理算法(三)按指定位置交换字符串两部分的位置