2129将标题首字母大写 | 算法(附全部解法)300题

零 标题:算法(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 【资源分享】算法通关 + 面试宝典算法通关 + 面试宝典

1)算法通关40讲(极客 - 外企大佬讲的):
链接: https://pan.baidu.com/s/1C175QEmcAunjnCzYzoLBz 提取码: hjna

2)动态规划专题(价值几百美刀~):https://www.bilibili.com/video/BV1nt4y1Y7nz

3)前端面经:
3.1)https://www.nowcoder.com/tutorial/96
3.2)https://muyiy.cn/question
3.3)https://hub.fastgit.org/haizlin/fe-interview/blob/master/category/history.md

注:若失效请前往VX公众号: 码农三少 ,发送关键字: LeetCode 或 算法 ,即可获取最新的链接~

3 博主简介

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

博主简介

#秋招##学习路径#
全部评论
非常感谢,学到了对字符串遍历及大小写转换的过程,内容很详细
点赞 回复 分享
发布于 2022-02-06 20:10

相关推荐

叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 11:21
被夸真的超级开心,好可爱的姐姐
码农索隆:老色批们不用脑补了,我把金智妮的图找来了查看图片
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务