原创 【劍指offer】14鏈表中倒數第k個結點

/** *題目描述: *輸輸入一個鏈表,輸出該鏈表中倒數第k個結點。 */ class ListNode { int val; ListNode next = null; ListNode(int va

原创 【劍指offer】17樹的子結構

/** *題目描述: *輸入兩棵二叉樹A,B,判斷B是不是A的子結構。 *(ps:我們約定空樹不是任意一個樹的子結構) */ public class TreeNode { int val = 0; TreeNo

原创 【劍指offer】2.空格替換

/** *題目描述: *請實現一個函數,將一個字符串中的空格替換成“%20”。 *例如,當字符串爲We Are Happy.則經過替換之後的字符串爲We%20Are%20Happy。 */ public class Solutio

原创 【劍指offer】3.從尾到頭打印鏈表

/** *題目描述: *輸入一個鏈表,從尾到頭打印鏈表每個節點的值。 */ import java.util.ArrayList; class ListNode { int val; ListNode next

原创 【劍指offer】20包含min函數的棧

/** *題目描述: *定義棧的數據結構,請在該類型中實現一個能夠得到棧最小元素的min函數。 */ import java.util.Stack; public class Solution { /*思路: 利用一個輔助棧來

原创 【劍指offer】10矩形覆蓋

/** *題目描述: *我們可以用2*1的小矩形橫着或者豎着去覆蓋更大的矩形。 *請問用n個2*1的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法? */ public class Solution { // 2

原创 【劍指offer】9變態跳臺階

/** *題目描述: *一隻青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。 *求該青蛙跳上一個n級的臺階總共有多少種跳法。 */ public class Solution { public int Ju

原创 【劍指offer】8跳臺階

/** *題目描述: *一隻青蛙一次可以跳上1級臺階,也可以跳上2級。 *求該青蛙跳上一個n級的臺階總共有多少種跳法。 */ public class Solution { //斐波那契數的一個應用 public

原创 【劍指offer】15反轉鏈表

/** *題目描述: *輸入一個鏈表,反轉鏈表後,輸出鏈表的所有元素。 */ class ListNode { int val; ListNode next = null; ListNode(int v

原创 【劍指offer】16合併兩個排序的鏈表

/** *題目描述: *輸入兩個單調遞增的鏈表,輸出兩個鏈表合成後的鏈表, *當然我們需要合成後的鏈表滿足單調不減規則。 */ class ListNode { int val; ListNode next =

原创 【劍指offer】5.用兩個棧實現隊列

/** *題目描述: *用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 *隊列中的元素爲int類型。 */ import java.util.Stack; //先進先出與先進後出 public class Solut

原创 【劍指offer】4.重建二叉樹

/** *題目描述: *輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。 *假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。 *例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,

原创 【劍指offer】18二叉樹的鏡像

/** *題目描述: *操作給定的二叉樹,將其變換爲源二叉樹的鏡像。 *二叉樹的鏡像定義:源二叉樹 * 8 * / \ * 6 10 * / \

原创 【劍指offer】21棧的壓入、彈出序列

/** *題目描述: *輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否爲該棧的彈出順序。 *假設壓入棧的所有數字均不相等。 *例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的

原创 【劍指offer】12數值的整數次方

/** *題目描述: *給定一個double類型的浮點數base和int類型的整數exponent。 *求base的exponent次方。 */ import java.util.*; public class Solution