用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;
}
算是一个勉强的实现吧,性能方面很差,只是一个初步的想法。解决 无用评论 打赏 举报
悬赏问题
- ¥15 微信公众号自制会员卡没有收款渠道啊
- ¥15 stable diffusion
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误
- ¥199 rust编程架构设计的方案 有偿