原创 面試題16:翻轉鏈表

題目:定義一個函數,輸入一個鏈表的頭結點,反轉鏈表並輸出反轉後的鏈表頭結點 思路:三個指針,pre指向已經完成的鏈表頭結點,middle指向要操作的結點,next指向沒操作的節點 public class ReverseList {

原创 面試題20:順時針打印矩形

題目:輸入一個矩形,按照從外向裏以順時針的順序依次打印出每個數字 思路:打印即可 public class PrintMatrixClockwisely { public static void main(String[] args)

原创 面試題6:重建二叉樹

題目:輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹. 思路:遞歸即可 public class BuildTree { public static void main(String[] args) { int[] fi

原创 面試題8:旋轉數組的最小數字

題目:把一個數組最開始的若干個元素搬到數組的尾部,我們稱之爲數組的旋轉,輸入一個遞增排序的數組的旋轉,輸出旋轉數組的最小元素 思路:直接掃一遍O(n)    利用二分搜索的思想O(logn)->這種搜索對特例要特殊處理 public c

原创 面試題15:鏈表中倒數第K個節點

題目:輸入一個鏈表,輸出該鏈表倒數第K個節點的值 思路:兩個指針掃一遍就行了 public class FindKthToTail { public static void main(String[] args) { Node[]

原创 面試題12:打印1到最大的n位數

題目:輸入一個數字n,按順序打印從1到最大的n位十進制. 思路:打印就行了,考慮大數問題,可以用字符數組模擬加法,也可以使用全排列 解法1:字符數組模擬加法 public class PrintToMaxOfNDight_1 {

原创 面試題14:調整數組順序使奇數位於偶數前面

題目:輸入一個整數數組,實現一個函數調整該數組中的數字的順序,使得所有奇數位於數組的前半部分,偶數位於後半部分 思路:類似快排的思路 public class ReorderOddEven { public static void m

原创 面試題18:樹的子結構

題目:輸入兩棵二叉樹A,B判斷B是不是A的子結構. 思路:遞歸遍歷A,找到節點相同點後,再遞歸查看即可 public class HasSubTree { public static boolean hasSubTree(Node

原创 面試題2:實現一個Singleton模式

public class Singleton { //內部持有Singleton唯一引用 private static Singleton instance; //構造器私有化,防止外部new對象 private Singleto

原创 面試題10:二進制中1的個數

題目:請實現一個函數,輸入一個整數,輸出該數二進制補碼錶示中1的個數 分析:位運算,掃一遍二進制字符串兩種都可以 public class NumberOf1 { public static void main(String[] ar

原创 面試題7:用兩個棧實現隊列

題目:用兩個棧實現一個隊列.實現兩個函數:appendTail和deleteHead 思路:畫圖分析一下即可 import java.util.Stack; public class Stack2Queue { private St

原创 mysql查詢練習(一)

這套練習題是基於oracle的scott庫中的emp,dept,salegrade表來進行的.只不過是用mysql.這個庫我已經導出上傳到csdn了,下載地址:http://download.csdn.net/detail/llj3981

原创 面試題3:二維數組中的查找

題目:在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序,請完成一個函數,輸入這樣一個數組和一個整數,判斷數組中是否含有該整數 public class Find { public static

原创 面試題4:替換空格

題目:實現一個函數,把字符串中的每個空格替換成"%20" public class ReplaceBlank { public static void main(String[] args) { System.out.printl

原创 面試題13:在O(1)時間刪除鏈表節點

題目:給定單向鏈表的頭指針和一個節點指針,定義一個函數在O(1)時間刪除該節點. public class DeleteNode { /* * 要求時間複雜度O(1),只要被刪除節點不是最後一個都可以O(1) * 如果是最後一