【双指针】反转字符串

求解代码

java 复制代码
public String solve(String str) {
        // 空串/NULL直接返回
        if (str == null || str.length() == 0) {
            return str;
        }
        int i = 0; // 左指针
        int j = str.length() - 1; // 右指针
        char[] s = str.toCharArray(); // 由于String不可变,需要将字符串转成字符数组

        // 首尾双指针相向遍历
        while (i < j) {
            char c = s[i];
            s[i] = s[j];
            s[j] = c;
            i++;
            j--;
        }
        // 字符数组转回字符串返回
        return new String(s);
    }
相关推荐
白緢几秒前
嵌入式 Linux + 内核开发高频问题及排查
java·linux·运维
沐知全栈开发3 分钟前
C 预处理器
开发语言
daad7777 分钟前
WSL2_wifi驱动安装
开发语言·前端·javascript
juniperhan12 分钟前
Flink 系列第4篇:Flink 时间系统与 Timer 定时器实战精讲
java·大数据·数据仓库·flink
超级大只老咪14 分钟前
一维度前缀和解题通用模板(java)
java·开发语言·算法
无限进步_17 分钟前
【C++】重载、重写和重定义的区别详解
c语言·开发语言·c++·ide·windows·git·github
许杰小刀17 分钟前
Python网络请求库,从 requests 到 httpx
开发语言·python·httpx
历程里程碑21 分钟前
1 . Git本地操作:版本控制 跨平台协作 仓库核心
java·开发语言·数据结构·c++·git·gitee·github
hekung27 分钟前
maven的lifecycle与idea的run
java·maven
阿维的博客日记34 分钟前
为什么 ConcurrentHashMap 采用 synchronized 加锁而不采用ReentrantLock
java·juc