📑本篇内容:《剑指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 今天小付打卡了哦~
美好的日出 美好的山河
都因有你存在 而璀璨 耀眼