【搞定算法】字符串的翻转和旋转及其应用

本文详细介绍了字符串的翻转和旋转操作,包括StringBuilder和双指针实现的字符串翻转,以及通过三步翻转和substring方法实现的字符串旋转。结合LeetCode题目,讲解了实际应用,并给出了示例代码和注意事项。
摘要由CSDN通过智能技术生成

目 录:

一、字符串的翻转

1、StringBuilder 实现

2、双指针实现

3、字符串翻转应用

二、字符串的旋转

1、三步翻转实现旋转【重点】

2、String 的 substring 方法实现


面试和笔试中我们也经常遇到字符串相关的翻转和旋转的题目。本文就对字符串的翻转和旋转做个简单的用法总结。

一、字符串的翻转

1、StringBuilder 实现

可以直接利用 StringBuilder 类的 reverse 方法直接实现。

public class StringReverse {

    public static String reverseString(String str){
        if(str == null || str.length() < 1){
            return str;
        }

        StringBuilder sb = new StringBuilder(str);
        return sb.reverse().toString();
    }
}

2、双指针实现

public class StringReverse {

    public static String reverseString(String str){
        if(str == null || str.length() == 0){
            return str;
        }
        char[] res = str.toCharArray();
        int left = 0;
        int right = str.length() - 1;
        while(left < right){
            char temp = res[left];
            res[left++] = res[right];
            res[right--] = temp;
        }
        return String.valueOf(res);
    }
}

3、字符串翻转应用

LeetCode 151题:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值