原创 09:逆序打印一個鏈表

逆序打印一個鏈表 用一個棧結構或者一個數組可以,只要保證“先進後出”的準則即可 public class Offer09 { public static void main(String[] args) { N

原创 10:重建二叉樹

題目:重建二叉樹 輸入二叉樹的前序遍歷和中序遍歷重構二叉樹,樹表示方式爲鏈表 前序遍歷:1 2 4 5 3 6 7 ,根-左-右 ,根節點:7,左子樹:2 4 5,右子樹:3 6 7 中序遍歷:4 2 5 1 6 3 7 ,左-

原创 11:二叉樹的下個節點

二叉樹的下一個節點 給定一顆二叉樹和其中一個節點,如何找出中序遍歷序列的下一個節點? 樹節點有三個指針,左子樹,右子樹,父節點 中序遍歷順序:左-根-右 public class Offer11 { public stati

原创 08:字符串替換空格

題目:替換空格 實現一個函數,存在字符串hello world!!!,將字符串內的空格字符替換爲’%20’。 先對空格個數進行計數,得到適當大小的字符數組,接着將原本數組從後向前替換到新數組中。 public class Offe

原创 07:從一個二維數組中查找一個數

題目:從一個二維數組中查找一個數 數組要求:從左到右,從上到小依次遞增的矩形二維數組 思路:我們從矩陣的右上角開始查找,若該位置的數值小於目標值,列數減一;若數值大於目標值,行數加一,後續重複。 public class Offe

原创 06:不修改數組找出重複的數字

不修改數組找出重複的數字 要求:在一個長度爲n+1的數組,數組內值爲1~n,不能修改原本數組 思路:使用分治思維,在一個長度爲n+1的數組,數組內值爲1~n的情況下,必定存在數據重複情況。我們不在數組上做文章,將焦點聚集在1-n的

原创 05:數組中重複的數字

數組中重複的數字 題目要求:有一個長度爲n的數組,數組內數值爲0~n-1,找出其中重複的一個值。 第一反應:先把數組從小到大排序,再從數組開頭兩兩比較,相同則重複。 第二反應:用另一個數組,將原數組遍歷,數值爲下標,填到新

原创 Java併發:ThreadLocal

本文章在於簡要介紹ThreadLocal的作用 要點一: ThreadLocal類內部存在ThreadLocalMap靜態內部類,ThreadLocalMap本質上爲定製化的HashMap。 要點二: Thread類存在兩個Thr

原创 04:單例模式

題目:寫一個single模式 飽漢式: 類加載時就會創建類實例 public class Offer04 { private Offer04() { } private final static Offer0

原创 01:字符串轉整數

字符串轉整數 注意點: 需將字符串的前端空格去除 首字符可以爲正號,負號或者直接爲數字字符 後續字符需要爲數字字符 數值越界問題 public static int StringToInteger(String str

原创 02:倒數鏈表第k個數值

倒數鏈表第k個數值 注意事項: 1.head不爲null 2.k>0,k<鏈表的長度 方法採用雙指針方式 public class Offer02 { public static void main(String[] a

原创 03:賦值運算符函數

賦值運算符函數: 題目要求:類中定義方法,方法接受參數,爲類中變量賦值 注意點: 1.方法參數的引用不可變,要用final修飾 2. 參數是否爲null或與this相等,是則返回this final修飾符: 1. 修飾引用:基本數

原创 WebMagic爬取《哪吒》豆瓣影評

1.前言 前言: 在某大佬的公總號上看到使用Python爬取《哪吒》影評的項目小樣,心癢癢,我也想用Java來搞一搞,遂動手。 項目基礎: 1. JavaClient,Jsoup瞭解下。 2. WebMagic框架熟悉:W

原创 Spring Boot:請求的處理

一:SpringMVC工作流程 先來看一下流程圖 SpringMVC的組件: Dispatch Servlet:前端控制器 Handler Mapping:映射處理器 Handler Adapter:適配處理器 Control

原创 idea 運行maven web 工程

1、創建maven web 工程 2、創建java目錄 在main下創建Java目錄,用來編寫代碼,並將Java目錄定義爲資源文件 3、導包和編寫servlet <dependency>