原创 劍指Offer學習-面試題41:數據流中的中位數
public static void main(String[] args) { while (true) { Scanner input = new Scanner(System.in)
原创 劍指Offer學習-面試題48:最長不含重複字符的子字符串
/** * 最長不含重複字符的子字符串 * * @param str * @return */ public int longestSubstringWithoutDup
原创 劍指Offer學習-面試題52:兩個鏈表的第一個公共節點
/** * 兩個鏈表的第一個公共節點 * <p> * 先計算兩個鏈表的長度,讓長的鏈表先走兩個鏈表的差值,然後一起走,比較相等 * * @param l1 * @par
原创 劍指Offer學習-面試題57:和爲s的數字
/** * 和爲s的數字 * <p> * 設置兩個指針,左指針指向數組的開頭,右指針指向結尾,由於數組是遞增的 * 相加如果大於s,則右指針向左移動, * 小於s,則左指針向右移
原创 劍指Offer學習-面試題38:字符串的排列
/** * 字符串的排列 * * @param s */ public void permutation(String s) { char[] arr = s.to
原创 劍指Offer學習-面試題47:禮物的最大價值
/** * 禮物的最大價值 * <p> * f(i,j)=max(f(i-1,j),f(i,j-1))+arr[i][j] * * @param arr * @retu
原创 劍指Offer學習-面試題55:二叉樹的深度
/** * 二叉樹的深度 * * @param root * @return */ public int treeDepth(TreeNode root) {
原创 劍指Offer學習-面試題50:第一次只出現一次的字符
/** * 第一次只出現一次的字符 * * @param str * @return */ public char firstNotRepeating(String st
原创 劍指Offer學習-面試題54:二叉搜索樹的第k大節點
/** * 二叉搜索樹的第k大節點 * * @param root * @return */ public TreeNode kthNode(TreeNode root,
原创 劍指Offer學習-面試題37:序列化與反序列化二叉樹
/** * 反序列化二叉樹 * * @param s */ public TreeNode deSerialize(String s) { if (s.charAt
原创 劍指Offer學習-面試題46:把數字翻譯成字符串
/** * 把數字翻譯成字符串,計算有多少種翻譯方法 * * @param n * @return */ public int getTranslationCount(i
原创 劍指Offer學習-面試題45:把數組排成最小的數
/** * 把數組排成最小的數 * * @param arr * @return */ public String printMinNumber(String[] arr
原创 劍指Offer學習-面試題23:鏈表中環的入口節點
/** * 鏈表中環的入口節點 * 1->2->3->4->5->6->3 * 設置快慢兩個指針,從頭節點開始出發,快指針每次走兩步,慢指針每次走一步,直到相遇或者快指針到空節點退出。 *
原创 劍指Offer學習-面試題30:包含min函數的棧
/** * 包含min函數的棧 */ class MinStack { Stack<Integer> data_stack = null; Stack<Integer
原创 劍指Offer學習-面試題20:表示數值的字符串
/** * 表示數值的字符串 * <p> * 表示數值的字符串遵循A[.[B]][e|EC]或者.B[e|EC] * A爲數值的整數部分 * B爲數值的小數部分 * C