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


求解代码

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--;
        }
    }

小贴士

代码思路大概是:

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

相关推荐
XiYang-DING几秒前
【Spring】SpringMVC
java·后端·spring
想学习java初学者2 分钟前
SpringBoot整合GS1编码解码
java·spring boot·后端
日月云棠3 分钟前
2 快速入门实战指南
java·后端
日月云棠4 分钟前
3 Dubbo 2.7 高级配置:检查控制、版本策略与协议选择
java·后端
砍材农夫10 分钟前
物联网 基于netty构建mqtt协议规范(主题通配符订阅)
java·前端·javascript·物联网·netty
new_dev12 分钟前
Python实现Android自动化打包工具:加固、签名、多渠道一键完成
android·python·自动化
小孔龙13 分钟前
Android `<activity-alias>` 指南:动态图标 · 多入口 · 重命名兼容
android·程序员·掘金·日新计划
掉鱼的猫13 分钟前
用 Solon AI 从零构建 MCP 工具服务:让 AI Agent 拥有真实世界的能力
java·llm·mcp
日月云棠13 分钟前
1 分布式架构演进与Dubbo框架入门
java·后端
_日拱一卒20 分钟前
LeetCode:114二叉树展开为链表
java·开发语言·算法