《剑指offer》 ——字符串的简单应用(简单)字符串拼接 与替换 的加深印象

📑本篇内容:《剑指offer》 ——字符串的巧妙应用(简单)

📘 文章专栏:《剑指offer》 面试高频数据结构与算法

🎬最近更新:2022年1月24日 《剑指Offer》——链表的简单应用 链表节点的转换 与 链表的复杂复制 链表的题多设置几个标志节点处理就好啦~

🙊个人简介:一只二本院校在读的大三程序猿,本着注重基础,打卡算法,分享技术作为个人的经验总结性的博文博主,虽然可能有时会犯懒,但是还是会坚持下去的,如果你很喜欢博文的话,建议看下面一行~(疯狂暗示QwQ)

🌇点赞 👍 收藏 ⭐留言 📝 一键三连 关爱程序猿,从你我做起

剑指Offer——栈与队列简单应用

🙊写在前面🙊

至于为什么又来更新这个版块了,是因为今天的每日一题又太简单了=-=,1688. 比赛中的配对次数给你30s想出这道题,已经刷了那么多题,这题感觉就像是小孩子过家家一样了~ 每日一题完成了,就来今天的加强任务!

class Solution {
    public int numberOfMatches(int n) {
        return n-1;
    }
}

在这里插入图片描述

1、剑指 Offer 05. 替换空格

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

示例

示例1:

输入:s = "We are happy."
输出:"We%20are%20happy."

提示

0 <= s 的长度 <= 10000

📝思路📝

这题的思路就是对字符串的简单处理。

⭐代码实现⭐

class Solution {
    public String replaceSpace(String s) {
    	//至于为什么要用StringBuilder呢? 因为他快~
        StringBuilder sb = new StringBuilder();
        //遍历字符串的每个字符如果存在' '则将"%20"添加到StringBuilder中
        for(int i = 0 ; i < s.length(); i++){
            char c = s.charAt(i);
            if(c == ' ') sb.append("%20");
            else sb.append(c);
        }
        return sb.toString();
    }
}

运行结果

在这里插入图片描述


2、剑指 Offer 58 - II. 左旋转字符串

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。

示例

示例1:

输入: s = "abcdefg", k = 2
输出: "cdefgab"

示例2:

输入: s = "lrloseumgh", k = 6
输出: "umghlrlose"

提示

1 <= k < s.length <= 10000

📝思路📝

简单的字符串拼接,唯一一点能让题可以进行升华的是,对空间复杂度进行压缩。

⭐代码实现⭐

class Solution {
    public String reverseLeftWords(String s, int n) {
        if(n == 0) return s;
        return s.substring(n)+s.substring(0, n);
    }
}

运行结果

在这里插入图片描述

🙊写在最后🙊

2022-1-25 今天小付打卡了哦~

美好的日出 美好的山河

都因有你存在 而璀璨 耀眼

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alascanfu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值