package zifuchuan; /** * Created by Administrator on 2017/9/22. */ public class RightMoveK { public static void main(String[] args){ String str = "abcdefg"; System.out.println("右移两位后的结果:"+rightmovek(str,2)); } /** * 循环右移index位字符串 * 思想:先整体反转,后部分反转 * @param str * @param k * @return */ public static String rightmovek(String str,int k){ str = reChange(str); String first = str.substring(0,k); String second=str.substring(k); first=reChange(first); second = reChange(second); str = first+second; return str; } /** * 反转字符串(循环交换) * 其他字符串反转的方法 * 1、java的api:StringBuffer的reverse方法 * 2、利用栈的特性(先进后出) * 3、反向遍历字符串 * @param str * @return */ public static String reChange(String str){ char[] s= str.toCharArray(); int len = s.length; for(int i=0;i<len/2;i++){ char temp = s[i]; s[i]=s[len-1-i]; s[len-i-1]=temp; } return String.valueOf(s); } }
字符串右移K位
最新推荐文章于 2020-12-03 21:27:50 发布