原创 Java 二叉樹的遍歷實現

前序遍歷:先訪問根節點,再訪問左子節點,最後訪問右子節點(根左右)中序遍歷:先訪問左子節點,再訪問根節點,最後訪問右子節點(左根右)後序遍歷:先訪問左子節點,再訪問右子節點,最後訪問根節點(左右根)這三種遍歷都有遞歸和循環兩種實現方法,每

原创 Java校招經驗

?求職經驗(Java開發) 時間節點 對於我們專業的孩子來說,一般可以經歷4次校招,分別是: 實習(3月份開始) 內推/提前批/管培生(6月份開始) 秋招(9月份開始) 春招(次年3月份開始) 不是要大家每個都參加,拿

原创 劍指offer學習(Java)——單例模式

    最近在看《劍指offer》這本書,也是被大家忽悠說是求職必看,可惜全書是基於C++/C#寫的,小生缺對Java比較感興趣,心想不如用Java實現以下書上的內容。不好的解法一:只適用於單線程環境public class Single

原创 劍指offer學習(Java)——面試題4:二維數組中的查找

    題目:在一個二維數組中,每一行都是按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。    當然可以直接遍歷數組,那麼時間複雜度就是O(m*

原创 javac都幹了些什麼

最近在回憶自己Java的入門之路,總結點經驗,寫幾篇文章給未來的師弟師妹參考參考,能少走點彎路我就心滿意足了。國際慣例我的第一個XXX程序——HelloWorld。假設新手是不使用IDE的哈,當然也不推薦使用,那麼爲了實現這個HelloW

原创 JSP、Servlet和Spring MVC

今年剛接觸JavaWeb的時候碰巧認識了一幫老師做後端的哥們,我倆平時用的最多的也都是Java。我:“老哥,我想給我那個項目做一個服務器應用程序,怎麼搞啊”老哥:“Spring你知道嗎”我:“聽說過”老哥:“入下門”我:“好嘞”那會兒我倆

原创 什麼是Redis

直接點說Redis是一個軟件,可以下載安裝的那種;具體點說Redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(s

原创 常用排序算法全解析(Java實現)

這篇博客是我之前做的一些零散筆記的重新整理,有些想不起來了,有新的內容我會更新進來。  爲簡單起見,假設我們討論目標只包含整數,當然我們的程序也允許更一般的對象(實現Comparable接口中的compareTo方法)。我們還假設整個排序

原创 劍指offer學習(Java)——面試題5:替換字符串中的空格

    題目:請實現一個函數,把字符串中的每個空格替換成“%20”。例如,輸入“We are happy.”,則輸出“We%20are%20happy.”。這題思路也很清晰,字符串,字符數組,或者其他的數組,涉及到大量移動的時候就從屁股開

原创 Java常用類——String、StringBuffer 和StringBuilder類

    平常我自己寫程序的時候,用到字符串第一反應總是String,然而Java類庫裏提供的字符串類卻不僅僅是String,下面就來做個比較。在不清楚Java類庫怎麼用的時候最直接的就是百度,但百度到的往往也是個人做的解析,不夠官方;官方

原创 Java API中的ArrayList和LinkedList實現

    要說數據結構裏面最簡單的應該就是表了,記得本科上課時候也是先講表,順序表和鏈表,平時寫Java程序的時候用的最多的表結構也就是ArrayList和LinkedList了,ArrayList隨機訪問快(查找快),LinkedList

原创 劍指offer學習(Java)——面試題7:重建二叉樹

題目:輸入某二叉樹的前序遍歷和中序遍歷結果,請重建該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。牛客題目地址:重建二叉樹/** * Definition for binary tree * public class

原创 劍指offer學習(Java)——面試題6:從尾到頭打印鏈表

題目:輸入一個鏈表的頭節點,從尾到頭反過來打印每個節點的值。這種要反過來的第一時間肯定想到了用棧,想到了棧也就想到了遞歸。牛客練習地址:從尾到頭打印鏈表使用棧的話:/** * public class ListNode { *

原创 劍指offer學習(Java)——面試題3.1:數組中的重複數字

    題目:找出數組中的重複數字    在一個長度爲n的數組裏所有的數字都在0~n-1的範圍內。數組中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出數組中任意一個重複數字。例如,輸入{2,3,1,0,2,

原创 Java工程師校招經驗

🙏求職經驗(Java開發) 時間節點 對於我們專業的孩子來說,一般可以經歷4次校招,分別是: 實習(3月份開始) 內推/提前批/管培生(6月份開始) 秋招(9月份開始) 春招(次年3月份開始) 不是要大家每個都參加,拿