您的位置:首页 > 编程语言 > Java开发

将字符串abcdefg左旋转2位得到cdefgab,java实现

2015-03-29 21:32 337 查看
package bianchengart;

/**

*要求:将字符串abcdefg左旋转2位得到cdefgab

* 思路:(递归思想)将字符串分为两部分X=ab Y=cdefg

* 先将X转置得X'=ba

* 再将Y转置得Y'=gfedc

* 最后将(X'Y')转置得cdefg ab

* @author Administrator

*/

public class LeftRotate {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

// TODO code application logic here

LeftRotate lr=new LeftRotate();

String s="abcdefg";

String s1=s.substring(0, 2);

String s2=s.substring(2, s.length());

String result="";

String s11=lr.invert1(s1);

String s21=lr.invert1(s2);

result=lr.invert2(s11+s21);

System.out.println(result);

}

/**

* 将String 对象转换为可改变的StringBuffer类对象

然后调用StringBuffer类的reverse()方法实现反转

* @param str

* @return

*/

public String invert1(String str){

StringBuffer sb=new StringBuffer(str);

String s=(sb.reverse()).toString();

return s;

}

/**

* 每次倒序输出一个字符

* @param str

* @return

*/

public String invert2(String str){

String s="";

for (int i = str.length()-1; i>=0; i--) {

s+=str.charAt(i);

}

return s;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐