String反转的几种方式

本文介绍三种实现String反转的方法,包括使用StringBuffer.reverse()方法、通过charAt()方法倒序取出字符及转换为字符数组并反转。文章对比了这些方法在LeetCode上的运行速度和内存消耗。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在力扣做回文数算法题的时候,想到的解决方案是:字符串反转,然后判断两个字符串是否相同。所以就在网上查询了String字符串反转的相关资料,下面是我找到的几种方法,在这里记录一下

方法一:StringBuffer.reverse()方法

StringBuffer提供了字符串反转的方法

/**
     * 字符串翻转StringBuffer
     * @param str
     * @return
     */
    private String reverse(String str){
        StringBuffer sb = new StringBuffer(str);
        sb.reverse();
        return sb.toString();
    }

方法二:调用String对象的charAt()方法,将字符串从后往前依次取出来,存入StringBuilder

  /**
     * 调用String对象的charAt()方法,将字符串从后往前依次取出来
     * 然后添加到StringBuffer当中去,在转换成String对象
     * @param str
     * @return
     */
    private String reverse1(String str){
        StringBuilder sb = new StringBuilder();
        for(int i = str.length() - 1; i >= 0; i-- ){
            sb.append(str.charAt(i));
        }
        return sb.toString();
    }

方法三:将String字符串转换成字符数组,反转字符数组

 /**
     * 将String字符串转换成字符数组,反转字符数组后,在将数组转化为String对象
     * @param str
     * @return
     */
    private String reverse3(String str){
        char[] chars = str.toCharArray();
        for (int x = 0, y = chars.length - 1; x < y; x++, y--) {
            char temp = chars[x];
            chars[x] = chars[y];
            chars[y] = temp;
        }
        return new String(chars);
    }

经力扣提交测试:
运行速度:方法三 > 方法二 = 方法一,
内存消耗:方法三 = 方法二 < 方法一。

原文作者:梦境听雨
原文链接:https://blog.csdn.net/XF777/article/details/81095249

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值