用java实现一个方法,将一个字符串进行镜像翻转,例如ABC翻转为CBA,又如1234翻转为3412,再如abcde翻转为decab。
3条回答 默认 最新
- 谈笑Mr.Q 2014-02-24 13:42关注
public static String doMirroringConvert(String str) {
str = convertStr(str);
// 字符串长度
int size = str.length();
// 是否是偶数
int IsEven = size % 2;
int centeEndIndex = size % 2 == 0 ? size >> 1 : (size - 1) >> 1;
StringBuilder sb = new StringBuilder();// 字符串长度为偶数 if (IsEven == 0) { String start = convertStr(str.substring(0, centeEndIndex)); String end = convertStr(str.substring(centeEndIndex, size)); sb.append(start).append(end); } // 字符串长度为基数 else { String start = convertStr(str.substring(0, centeEndIndex)); String center = convertStr(str.substring(centeEndIndex, centeEndIndex + 1)); String end = convertStr(str.substring(centeEndIndex + 1, size)); sb.append(start).append(center).append(end); } return sb.toString();
}
public static String convertStr(String str) {
// 将String 对象转换为可改变的StringBuffer类对象,然后调用StringBuffer类的reverse()方法实现反转
String strReverse = new StringBuffer(str).reverse().toString();
return strReverse;
}
算是一个勉强的实现吧,性能方面很差,只是一个初步的想法。解决 无用评论 打赏 举报
悬赏问题
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码