import java.util.*;//找到二叉樹中符合搜尋二叉樹條件的最大拓撲結構public class MaxSearchTreeTuo{ //二叉樹節點的定義public static class Node{public int value;public Node left;public Node right;public Node(int data){this.value=data;}} //獲得最大拓撲結構的大小public static int
import java.util.Stack;//判斷一個鏈表是否為迴文結構public class HuiWenList{ //定義鏈表的節點 public static class Node{ int value; Node next; public Node(int data) { this.value=data; } } //解法1.數組儲存判斷一個鏈表是否為迴文鏈表 public static
//解決約瑟夫問題public class YueSeFu{ //定義鏈表的節點 public static class Node{ public int value; Node next; public Node(int data) { this.value=data; } } //解決約瑟夫問題 /** head 環形鏈表的頭結點 num 所報的數
反轉部分單向鏈表: //反轉部分單向鏈表的public class ReverseSubList{ //鏈表節點的定義 public static class Node{ public int value; public Node next; //節點的定義 public Node(int data) { this.value=data; } }
反轉單向和雙向鏈表簡化: //反轉單向和雙向鏈表public class ReverseList{ //節點的定義 public static class Node{ public int value; public Node next; public Node(int data) { this.value=data; } }
實現的代碼如下: //刪除鏈表的中間節點和a/b處的節點public class DelMidList{ //鏈表節點的定義 public static class Node{ public int value; public Node next; public Node(int data) { this.value=data; } }
實現的完整代碼如下: //在單鏈表和雙鏈表中刪除倒數第k個節點public class DeleteList{ //單鏈表節點的定義 public static class Node{ int value; Node next; public Node(int data) { this.value=data; } } //刪除單鏈表中倒數第k個節點 public
實現的完整代碼如下: import java.util.Stack;//獲得給定矩陣的最大子矩陣public class MaxSubMatrix{ public static int getMaxSubMatrix(int[][]map) { if(map==null||map.length==0||map[0].length==0) { return 0; } int maxArea=0;
舉個例子如下: 實現的代碼如下: import java.util.Stack;import java.util.HashMap;//構造數組的MaxTreepublic class MaxTree{ //二叉樹結點的定義如下 public static class Node{ public int value; public Node left; public Node right; //結點的初始化
//判斷一顆二叉樹是否是平衡二叉樹public class AvlTree{ //二叉樹節點的定義 public static class Node{ public int value; public Node left; public Node right; public Node(int data) { this.value=data; } } //判斷一顆二叉樹是否為平衡二叉樹(利用二叉樹的後序遍曆)
給定一個主串(以 S 代替)和模式串(以 P 代替),要求找出 P 在 S 中出現的位置,此即串的模式比對問題。Knuth-Morris-Pratt 演算法(簡稱 KMP)是解決這一問題的常用演算法之一,這個演算法是由高德納(Donald Ervin Knuth)和沃恩 · 普拉特在 1974 年構思,同年詹姆斯 ·H· 莫裡斯也獨立地設計出該演算法,最終三人於 1977 年聯合發表。 //串匹配問題public class
//判斷t1樹是否包含t2樹全部的拓撲結構public class ContainSubTree{ public static class Node{ public int value; public Node left; public Node right; public Node(int data) { this.value=data; } } //判斷是否包含 public static