原创 劍指Offer-61

題目 請實現一個函數按照之字形順序打印二叉樹,即第一行按照從左到右的順序打印,第二層按照從右到左的順序打印,即第一行按照從左到右的順序打印,第二層按照從右到左順序打印,第三行再按照從左到右的順序打印,其他以此類推。 實現 publ

原创 劍指Offer-41

題目1: 輸入一個遞增排序的數組和一個數字S,在數組中查找兩個數,使得它們的和正好是S,如果有多對,輸出任意一對即可。 題目2: 輸入一個整數s,打印出所有和爲s的連續整數序列。(至少兩個數) 實現 public class So

原创 劍指Offer-58

題目: 給定一棵二叉樹和其中的一個結點,如何找出中序遍歷順序的下一個結點?樹中的結點除了有兩個分別指向左右子結點的指針以外,還有一個指向父節點的指針。 實現 public class Solution58 { public

原创 劍指Offer-56

題目: 一個鏈表中包含環,如何找出環的入口結點? 實現 public class Solution56 { public static Node findEntryNode(Node head){ if(h

原创 劍指Offer-51

題目: 在一個長度爲n的數組裏的所有數字都在0到n-1的範圍內。數組中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出數組中任意一個重複的數字。 實現 public class Solution51

原创 劍指Offer-60

題目 從上到下按層打印二叉樹,同一層的結點按從左到右的順序打印,每一層打印一行。 實現 public class Solution60 { public static void printTree(BinaryTreeNo

原创 劍指Offer-59

題目: 請實現一個函數來判斷一棵二叉樹是不是對稱的。如果一棵二叉樹和它的鏡像一樣,那麼它是對稱的。 實現 public class Solution59 { public static boolean isSymmetr

原创 數據庫事務詳解

爲什麼需要事務? 轉賬是生活中常見的操作,比如從A賬戶轉賬100元到B賬號。站在用戶角度而言,這是一個邏輯上的單一操作,然而在數據庫系統中,至少會分成兩個步驟來完成: 1.更新A賬戶的金額,減少100元 2.更新B賬戶的金額,增加10

原创 劍指Offer-63

題目: 給定一棵二叉搜索樹,請找出其中的第k大的結點。 實現 public class Solution63 { public static BinaryTreeNode kthNode(BinaryTreeNode root,i

原创 Java中String、StringBuffer、StringBuilder的區別

概覽 在Java中處理字符串常用的類有三種:String、StringBuffer、StringBuilder。 String 字符串常量 StringBuffer 字符串變量(線程安全) StringBuilder 字符串變量(非線

原创 Java常見面試題—實現多線程的三種方式

多線程優勢: 進程之間不能共享內存,但線程之間共享內存非常容易; 系統創建線程所分配的資源相對創建進程而言,代價非常小。 第一種實現方法—繼承Thread類 繼承Thread類,重寫run()方法,加入線程所要執行的代即可。 實例

原创 Java—求一個數組的所有子數組

最近在忙秋招,投了各種公司,參加了各種線上筆試,在線上筆試的過程中,經常遇到一些題目,想要求得最終結果的話需要獲取某一數組的所有子集(暴力破解)。 import java.util.ArrayList; import java.util.

原创 常見面試題整理—Linux系統常用操作

1. crontab的使用 crontab 是用來讓使用者在固定時間或固定間隔執行程序之用,換句話說,也就是類似使用者的時程表。 -u user_a 是指設定指定 user_a 的時程表,這個前提是你必須要有其權限(比如說是 roo

原创 AWK入門學習

AWK入門學習 AWK簡介 用AWK,起碼要知道它是什麼。AWK是貝爾實驗室於1977年研發處理文本文件的語言,是一個強大的文本處理、分析工具。我們在日常開發中排查線上問題、分析日誌時經常需要用到AWK。其名字是取了三位創始人 Alfre