【双指针】反转字符串

求解代码

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);
    }
相关推荐
毕设源码-赖学姐13 小时前
【开题答辩全过程】以 鸡场养殖管理系统为例,包含答辩的问题和答案
java
sheji341613 小时前
【开题答辩全过程】以 高校自习室智能化管理系统为例,包含答辩的问题和答案
java
十五年专注C++开发13 小时前
libuv:一个跨平台的C++异步 I/O 库
开发语言·c++·node.js·libuv·vlibuv
yaoxin52112313 小时前
358. Java IO API - 使用 relativize() 创建路径之间的相对关系
java·linux·python
SuperEugene13 小时前
前端 console 日志规范实战:高效调试 / 垃圾 log 清理与线上安全避坑|编码语法规范篇
开发语言·前端·javascript·vue.js·安全
程序员敲代码吗13 小时前
USB-C接口深度测试:从Vconn到电压的全方位分析
c语言·开发语言
racerun13 小时前
跳转链接批量解析工具 python
开发语言·python
庞轩px13 小时前
HotSpot详解——符号引用、句柄池、直接指针的终极解密
java·jvm·设计模式·内存·虚拟机·引用·klass
qq_4176950513 小时前
C++中的解释器模式
开发语言·c++·算法
難釋懷14 小时前
初识Caffeine
java·缓存