关于leetcode:2129将标题首字母大写-算法leetode附思维导图-全部解法300题

29次阅读

共计 1339 个字符,预计需要花费 4 分钟才能阅读完成。

零 题目:算法(leetode,附思维导图 + 全副解法)300 题之(2129)将题目首字母大写

一 题目形容

二 解法总览(思维导图)

三 全副解法

1 计划 1

1)代码:

// 计划 1“字符串切割成数组 - 解决法”。// 思路:// 1)状态初始化:const wordList = title.split(''), l = wordList.length; let resStr =''。// 2)外围:遍历 wordList。// 2.1)若 以后 word 的长度小于 3,则 将 word 里的所有字符串转成小写。// 2.2)若 以后 word 的长度大于 3,则 将 word 里的首字母大写、残余的全小写。// 2.3)resStr 前面,拼上 word + ' '。// 3)resStr 前面,去掉多余的 ' '。// 4)返回后果 resStr。var capitalizeTitle = function(title) {// 1)状态初始化:const wordList = title.split(''), l = wordList.length; let resStr =''。const wordList = title.split(' '),
        l = wordList.length;
    let resStr = '';

    // 2)外围:遍历 wordList。for (let i = 0; i < l; i++) {let word = wordList[i];
        // 2.1)若 以后 word 的长度小于 3,则 将 word 里的所有字符串转成小写。if (word.length < 3) {word = word.toLowerCase();
        }
        // 2.2)若 以后 word 的长度大于 3,则 将 word 里的首字母大写、残余的全小写。else {word = word.toLowerCase();
            word = word[0].toUpperCase() + word.slice(1);
        }
        // 2.3)resStr 前面,拼上 word + ' '。resStr += word + ' ';
    }

    // 3)resStr 前面,去掉多余的 ' '。resStr = resStr.slice(0, resStr.length - 1);

    // 4)返回后果 resStr。return resStr;
};

2 计划 2

1)代码:

// 计划 2“1 行代码 - 装 X 法”。// 技巧:将 1 个数组(多个元素)变成 字符串(1 个元素),n(多个)到 1(单个)优先思考应用数组里的 reduce 办法。// 思路:// 1)通过 字符串的 split 办法,依照 空格 将字符串 title 宰割成数组。// 2)通过 数组的 reduce 办法,一直根据 cur 值、更新 acc 值(别忘了有 return!)。// 3)去除开端多余的 ' '。var capitalizeTitle = function(title) {return title.split(' ').reduce((acc, cur) => {return acc += ((cur.length < 3 ? (cur.toLowerCase()) : (cur[0].toUpperCase() + cur.slice(1).toLowerCase())) + ' ');
    }, '').slice(0, -1);
}

四 资源分享 & 更多

1 历史文章 – 总览

2 博主简介

码农三少,一个致力于编写 极简、但齐全题解(算法 )的博主。
专一于 一题多解、结构化思维,欢送一起刷穿 LeetCode ~

正文完
 0