【双指针+字符串】字符串变形


求解代码

java 复制代码
public String trans(String s, int n) {
        if (s == null || s.length() == 0) {
            return s;
        }
        char[] str = s.toCharArray();
        reverse(str, 0, str.length - 1);
        int i = 0, j = 0;
        while (i < str.length) {
            j = i;
            while (j < str.length && str[j] != ' ') {
                if (str[j] >= 'a' && str[j] <= 'z') {
                    str[j] = (char) (str[j] - 'a' + 'A');
                } else {
                    str[j] = (char) (str[j] - 'A' + 'a');
                }
                j++;
            }
            reverse(str, i, j - 1);
            i = j + 1;
        }
        return new String(str);
    }

    public void reverse(char[] arr, int start, int end) {
        int i = start;
        int j = end;
        while (i < j) {
            char c = arr[i];
            arr[i] = arr[j];
            arr[j] = c;
            i++;
            j--;
        }
    }

小贴士

代码思路大概是:

整体反转➡️单词遍历➡️大小写互换➕局部反转

相关推荐
abcnull3 小时前
用javaparser做精准测试
java·ast·静态代码分析·精准测试·javaparser
叶小鸡3 小时前
Java 篇-项目实战-苍穹外卖-笔记汇总
java·开发语言·笔记
AI人工智能+电脑小能手4 小时前
【大白话说Java面试题】【Java基础篇】第22题:HashMap 和 HashSet 有哪些区别
java·开发语言·哈希算法·散列表·hash
juniperhan4 小时前
Flink 系列第21篇:Flink SQL 函数与 UDF 全解读:类型推导、开发要点与 Module 扩展
java·大数据·数据仓库·分布式·sql·flink
ID_180079054734 小时前
Python 实现亚马逊商品详情 API 数据准确性校验(极简可用 + JSON 参考)
java·python·json
c++之路4 小时前
C++23概述
java·c++·c++23
专注API从业者5 小时前
Open Claw 京东商品监控选品实战:一键抓取、实时监控、高效选品
java·服务器·数据库
liang_jy5 小时前
Android View Tag
android
摇滚侠5 小时前
DBeaver 导入数据库 导入 SQL 文件 MySQL 备份恢复
java·数据库·mysql
liang_jy5 小时前
Android 架构中的统一分发与策略路由
android·架构