本文主要是介绍双非二本找实习前的准备day12,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
学习目标:
每天复习代码随想录上的题目2-3道算法(时间充足可以继续),背诵的八股的问题也在这里记录了
今日碎碎念:
1)科四没时间考了,等实习完回来再说咯
2)这几天在忙收拾东西和处理学校的事情,能保持记录就保持啦
3)阅读部分spring源码。
力扣刷题
算法
力扣151:151. 反转字符串中的单词
解答思路:
1)如注释
class Solution {/*** 不使用Java内置方法实现* <p>* 1.去除首尾以及中间多余空格* 2.反转整个字符串* 3.反转各个单词*/public String reverseWords(String s) {//去除空格StringBuilder sb = removeSpace(s);//翻转整个字符串reverseString(sb, 0, sb.length() - 1);//然后翻转各个单词reverseEachWord(sb);return sb.toString();}//去除空格public StringBuilder removeSpace(String s){//先去除前后空格int start = 0;int end = s.length() - 1;while(s.charAt(start) == ' ') start++;while(s.charAt(end) == ' ') end--;StringBuilder res = new StringBuilder();//此时去检测中间空格while(start <= end){char c = s.charAt(start);if(c != ' ' || c == ' ' && s.charAt(start-1) != ' '){res.append(c);}start++;}return res;}//翻转整个字符串public void reverseString(StringBuilder sb, int start, int end) {while (start < end) {char temp = sb.charAt(start);sb.setCharAt(start, sb.charAt(end));sb.setCharAt(end, temp);start++;end--;}}//翻转各个单词public void reverseEachWord(StringBuilder sb) {//用start来标记所有单词的起始位置int start = 0;//用end来记录所有单词的结束位置int end = 1;//记录最长int len = sb.length();while(start < len){//分别找到每个单词的结尾,注意到最后一个单词的时候不能超长while(end<len && sb.charAt(end)!=' '){end++;}//找到结尾之后就直接传入下标调用翻转函数reverseString(sb,start,end-1);//替换start(+1 是因为要跳过空格),endstart = end + 1;end = start + 1;}}
}
力扣206:206. 反转链表
解答思路:
1)链表题的话会有些许抽象,但是我之前的做法都是,你定义的指针你得搞清楚要用来干嘛。搞清楚题目要求你的指向,以及你接下来如何改变指针指向,我觉得考虑清楚这几个会对做题有帮助
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val = val; }* ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseList(ListNode head) {ListNode pre = null;ListNode now = head;ListNode tmp = null;while(now != null){//因为我们要改变指向关系,因此得先保存下一个节点tmp = now.next;//改变now的nextnow.next = pre;//pre指向前一个pre = now;//改变now,是之前保存的下一个节点now = tmp;}return pre;}
}
八股
JVM(这块内容相对来说要理解需要花点时间,多看几次几天总不会错的)
内存区域
类加载
什么是双亲委派机制
垃圾回收机制
常见的垃圾回收算法,垃圾回收器
这篇关于双非二本找实习前的准备day12的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!