单词前后位置颠倒,大小写颠倒

简介: 单词前后位置颠倒,大小写颠倒

题目:

输入:一个字符串(由字母空格组成),一个长度

输出:将所有单词前后位置颠倒,大小写颠倒

例如:

输入:

This is a sample,16

输出:

SAMPLE A IS tHIS

public String trans(String s,int n) {
        //处理全部是空格的情况
        if(s.trim().length() == 0) return s;
        s = s.substring(0,n);       //校准s长度
        if(s.length() ==0) return s;//处理长度为0
        StringBuilder sb = new StringBuilder();
        s = changeStr(s); //大小写反转
        /*
         * 截取末单词置首
         */
        for (int i = s.length()-1; i >= 0; i--) {
            if(s.charAt(i)==' '){
                String str = s.substring(i+1);
                sb.append(str+" ");
                s=s.substring(0,i);
            }
        }
        sb.append(s);
        return sb.toString();
    }
    //大小写反转类
    public String changeStr(String s) {
        StringBuilder sb = new StringBuilder();
        for (char c : s.toCharArray()) {
            if (c <= 'z' && c >= 'a') {
                c = Character.toUpperCase(c);
            } else if (c <= 'Z' && c >= 'A') {
                c = Character.toLowerCase(c);
            }
            sb.append(c);
        }
        return sb.toString();
    }
相关文章
|
6月前
|
测试技术
leetcode-1592:重新排列单词间的空格
leetcode-1592:重新排列单词间的空格
45 0
|
索引
【LeetCode】917. 仅仅反转字母、387. 字符串中的第一个唯一字符
目录 917. 仅仅反转字母 387. 字符串中的第一个唯一字符
48 0
|
5月前
917. 仅仅反转字母
917. 仅仅反转字母
|
6月前
leetcode-2000:反转单词前缀
leetcode-2000:反转单词前缀
46 0
leetcode-2000:反转单词前缀
倒置字符串(倒置单词,标点不倒置)
倒置字符串(倒置单词,标点不倒置)
52 0
逆序一个字符串的每一组单词(不是倒叙)
整体思路: 1.先将整个字符串倒叙:i like china.->.anihc ekil i 2.将倒叙后的每一块单词再倒叙:.anihc->china. 想必大家都发现了,倒叙整个字符串和倒叙每一块是一样的,那么我们不妨写一个倒叙的函数在这里用reserve表示!
73 0
C 去除字符串中重复字母(LeetCode)
摆烂太久,好久没有更文了,小九和大家一起看看题写写题找回手感吧,也希望这篇文章可以帮助正在寻找解题答案的朋友,你们的支持就是我最大的动力!求三连!求关注呀!🌟。
C  去除字符串中重复字母(LeetCode)
LeetCode 5867. 反转单词前缀
给你一个下标从 0 开始的字符串 word 和一个字符 ch 。找出 ch 第一次出现的下标 i ,反转 word 中从下标 0 开始、直到下标 i 结束(含下标 i )的那段字符。
83 0
C/C++编程题之数字颠倒
C/C++编程题之数字颠倒
|
存储 算法
算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词
算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词