原创 刪除鏈表中重複的結點18

題目描述: 刪除有序鏈表中的重複節點,返回頭節點,例如1->1->2->2->3->4,返回3->4 public class Offer18 { public static void main(String[] args)

原创 用兩個棧實現一個隊列與用兩個隊列實現一個棧9

 用兩個棧實現一個隊列 public class Offer9 { public static void main(String[] args) { CustomQueue<Integer> customQue

原创 合成兩個排序的鏈表(25)

題目:輸入兩個遞增排序的鏈表,合併這兩個鏈表並使新鏈表中的結點仍然是按照遞增排序的。 public class Offer25 { public static Node25 Merge(Node25 list1, Node25 l

原创 希爾排序-老韓圖解

package com.atguigu.sort; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; public cla

原创 數值的整數次方16

題目:實現函數double Power(double base, int exponent),求base的exponent次方。不得使用庫函數,同時不需要考慮大數問題。 public static double powerWithExp

原创 斐波那契數列10

大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項爲0)。斐波那契數列屬於經典的遞歸問題,對於這題的求解,我們首先要知道斐波那契數列的狀態轉移式,即f[n]=f[n-1]+f[n-2],且在n=

原创 調整數組順序使奇數位於偶數前面21

題目:輸入一個整數數組,實現一個函數來調整數組順序使奇數位於數組前半部分,偶數位於數組後半部分。 public class ReorderOddEven { public static void main(String[] arg

原创 遞歸-跳臺階

一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 解法一:使用循環的方法 public static int test(int number) { int a = 1;

原创 數組中出現次數最多的數字

  public class MoreThanHalfSize { public static int[] array = {3, 2, 5, 2, 2, 2, 6, 7, 2}; /** * 方法四:

原创 判斷一個二叉樹是否是平衡二叉樹

題目:輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。 平衡二叉樹(AVL):它又稱爲AVL樹,它是一棵空樹或者它的左右子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡二叉樹。 public class BalanceTree

原创 旋轉數組的最小數字11

題目描述:把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的旋轉。 輸入一個非減排序的數組的一個旋轉,輸出旋轉數組的最小元素。 例如數組{3,4,5,1,2}爲{1,2,3,4,5}的一個旋轉,該數組的最小值爲1。 publi

原创 二叉樹的下一個節點8

題目描述:給定一棵二叉樹和其中的一個節點,如何找出中序遍歷序列的下一個節點?樹中的節點除了有兩個分別別指向左右子節點的指針,還有一個指向父節點的指針 例如:這棵樹的中序遍歷是:D,B,H,E,I,A,F,C,G 解題思路: (1)當節點

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

題目:在一個長度爲n+1的數組裏的所有數字都在1到n的範圍內,所以數組中至少有一個數字是重複的。請找出數組中任意一個重複的數字,但不能修改輸入的數組。例如,如果輸入長度爲8的數組{2, 3, 5, 4, 3, 2, 6, 7},那麼對應的

原创 二維數組中的查找4

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

原创 快速排序

import java.util.Arrays; public class QuickSortTest { public static void main(String[] args) { int arr[]