2024年代码随想录Day_08 Leetcode(1),2024年最新Linux运维虚拟机原理深入解析

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

s[l] ^= s[r];


## 541.翻转字符串Ⅱ



class Solution {
public String reverseStr(String s, int k) {
char[] N = s.toCharArray();
for (int i = 0; i < N.length - 1; i += 2 * k) {
if (i + 2 * k - 1 <= N.length - 1) {
reverseString(N, i, i + k - 1);
} else if (i + k - 1 <= N.length - 1) {
reverseString(N, i, i + k - 1);
} else {
reverseString(N, i, N.length - 1);
}
}
return new String(N);
}

public void reverseString(char[] s, int fir, int sec) {
    char temp = '\0';
    while (fir < sec) {
        temp = s[fir];
        s[fir] = s[sec];
        s[sec] = temp;
        fir++;
        sec--;
    }
}

}


## 卡码网54. 替换数字


.nextLine获取字符串,.nextInt获取整数


StringBuilder创建可变长字符串 StringBuffer创建可变长线程安全数组,但是效率低


Character.isDigit()判断是否为数字,.charAt()获取字符串对应索引位置的char字符



import java.util.Scanner;

class Main{
public static void main (String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
StringBuilder res = new StringBuilder();
for (int i = 0;i < s.length() ; i++ ){
if(Character.isDigit(s.charAt(i))){
res.append(“number”);
}else{
res.append(s.charAt(i));
}
}
System.out.println(res);

}

}


## 151.翻转字符串中的单词



class Solution {
public String reverseWords(String s) {
StringBuilder res = removeSpace(s);
//去除多余空格
reverseString(res, 0, res.length() - 1);
//翻转整个字符串
reverseEachWord(res);
//翻转每一个单词
return res.toString();
}

public StringBuilder removeSpace(String res) {
    int start = 0;
    int end = res.length() - 1;
    while (res.charAt(start) == ' ') start++;
    while (res.charAt(end) == ' ') end--;
    StringBuilder sb = new StringBuilder();
    for (; start <= end; start++) {
        if (res.charAt(start) != ' ' || sb.charAt(sb.length() - 1) != ' ') {
            sb.append(res.charAt(start));
        }

    }
    return sb;
}

public void reverseString(StringBuilder res, int start, int end) {
    while (start < end) {
        char temp = res.charAt(start);
        res.setCharAt(start, res.charAt(end));
        res.setCharAt(end, temp);
        start++;
        end--;

    }
}

private void reverseEachWord(StringBuilder res) {
    int start = 0;
    int end = 1;
    while (start < res.length()) {
        while (end < res.length() && res.charAt(end) != ' ') {
            end++;
        }
        reverseString(res, start, end - 1);
        start = end + 1;
        end = start + 1;

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值