u011100157 2014-02-21 12:04 采纳率: 0%
浏览 3664

用java实现字符串的镜像翻转

用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 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services