LeetCode 344 反转字符串
什么时候可以使用库函数?
- 如果题目关键的部分直接用库函数就可以解决,建议不要使用库函数。
- 如果库函数仅仅是 解题过程中的一小部分,并且你已经很清楚这个库函数的内部实现原理的话,可以考虑使用库函数。
思路
要求原地,使用的额外空间修改。故考虑双指针法.
- 左指针起始在字符数组最左,右指针起始在字符数组最右
- 每轮循环交换左右指针指向的字符,左指针右移一格,右指针左移一格
LeetCode 541 反转字符串II
思路
- 最外层for循环每次取2k的倍数,作为一个反转区间的起始点left
- 判断right=i+k-1是否大于等于字符串长度
- 如果是,则把right置为字符串长度-1,即最后一个字符为反转区间的结束点
- 和344题一样双指针反转字符串
- 当left大于等于字符串长度,可以返回处理后的字符串
kama 54 替换数字
思路
- 整个读取输入字符串为s
- 遍历字符串的每一个字符
- 如果是数字:输入“number”
- 如果是字母:直接输出这个字母
解答
import java.util.*;
public class Main {
public static void main (String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.next();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (Character.isDigit(ch)) {
System.out.print("number");
}
else {
System.out.print(ch);
}
}
}
}
今日收获总结
今日学习时长2.5小时,今天任务较轻,算是中场放松一下吧~