面试题2: 实现Singleton模式 -> design.Singleton
面试题3(二): 不修改数组找出重复的数字 -> LeetCode 287.Find the Duplicate Number
面试题4: 二维数组中的查找 -> LeetCode 240.Search a 2D Matrix II
面试题7: 重建二叉树 -> LeetCode 105.Construct Binary Tree from Preorder and Inorder Traversal
面试题8: 二叉树的下一个结点 -> tree.NextNodeInBinaryTree
面试题9: 用两个栈实现队列 -> LeetCode 232.Implement Queue using Stacks
面试题10: 斐波那契数列 -> LeetCode 509.Fibonacci Number
面试题11: 旋转数组中的最小数字 -> LeetCode 154.Find Minimum in Rotated Sorted Array II
面试题12: 矩阵中的路径 -> LeetCode 79.Word Search
面试题13: 机器人的运动范围 -> backtracking.MovingCount
面试题14: 剪绳子 -> dynamic_programming.CuttingRope
面试题15: 二进制中1的个数 -> LeetCode 191.Number of 1 Bits
面试题16: 数值的整数次方 -> LeetCode 50.Pow(x, n)
面试题17: 打印1到最大的n位数 -> array.Print1ToMaxOfNDigits
面试题18(一): 在O(1)时间删除链表结点 -> linked_list.DeleteNodeInALinkedList
面试题18(二): 删除链表中重复的结点 -> LeetCode 82.Remove Duplicates from Sorted List II
面试题21: 调整数组顺序使奇数位于偶数前面 -> LeetCode 905.Sort Array By Parity
面试题22: 链表中倒数第k个结点 -> linked_list.FindKthNodeToTailInALinkedList
面试题23: 链表中环的入口结点 -> LeetCode 142.Linked List Cycle II
面试题24: 反转链表 -> LeetCode 206.Reverse Linked List
面试题25: 合并两个排序的链表 -> LeetCode 21.Merge Two Sorted Lists
面试题26: 树的子结构 -> LeetCode 572.Subtree of Another Tree
面试题27: 二叉树的镜像 -> LeetCode 226.Invert Binary Tree
面试题28: 对称的二叉树 -> LeetCode 101.Symmetric Tree
面试题29: 顺时针打印矩阵 -> LeetCode 54.Spiral Matrix
面试题30: 包含min函数的栈 -> LeetCode 155.Min Stack
面试题31: 栈的压入、弹出序列 -> LeetCode 946.Validate Stack Sequences
面试题32(一): 不分行从上往下打印二叉树 -> LeetCode 102.Binary Tree Level Order Traversal
面试题32(三): 之字形打印二叉树 -> LeetCode 103.Binary Tree Zigzag Level Order Traversal
面试题33(一): 二叉搜索树的后序遍历序列 -> tree.PostOrderSequenceOfBST
面试题33(二): 二叉搜索树的前序遍历序列 -> LeetCode 255.Verify Preorder Sequence in Binary Search Tree
面试题34: 二叉树中和为某一值的路径 -> LeetCode 113.Path Sum II
面试题35: 复杂链表的复制 -> LeetCode 138.Copy List with Random Pointer
面试题36: 二叉搜索树与双向链表 -> LeetCode 426.Convert Binary Search Tree to Sorted Doubly Linked List
面试题37: 序列化二叉树 -> LeetCode 297.Serialize and Deserialize Binary Tree
面试题38: 字符串的排列 -> backtracking.StringPermutation
面试题39: 数组中出现次数超过一半的数字 -> array.MoreThanHalfNum
面试题40: 最小的k个数 -> heap.KLeastNumbers
面试题41: 数据流中的中位数 -> LeetCode 295.Find Median from Data Stream
面试题42: 连续子数组的最大和 -> array.GreatestSumOfSubarrays
面试题43(一): 从1到n整数中1出现的次数 -> LeetCode 233.Number of Digit One
面试题43(二): 从1到n整数中0-9出现的次数 -> math.NumberOfAllDigits
面试题44: 数字序列中某一位的数字 -> math.DigitsInSequence
面试题45: 把数组排成最小的数 -> LeetCode 179.Largest Number
面试题46: 把数字翻译成字符串 -> dynamic_programming.TranslateNumbersToStrings
面试题47: 礼物的最大价值 -> LeetCode 64.Minimum Path Sum
面试题48: 最长不含重复字符的子字符串 -> LeetCode 3.Longest Substring Without Repeating Characters
面试题49: 丑数 -> LeetCode 264.Ugly Number II
面试题50(一): 字符串中第一个只出现一次的字符 -> LeetCode 387.First Unique Character in a String
面试题50(二): 字符流中第一个只出现一次的字符 -> hash_table.FirstCharacterInStream
面试题51: 数组中的逆序对 -> sorting.InversePairsInArray
面试题52: 两个链表的第一个公共结点 -> LeetCode 160.Intersection of Two Linked Lists
面试题53(一): 数字在排序数组中出现的次数 -> binary_search.FindNumbersOfElementInSortedArray
面试题53(二): 0到n-1中缺失的数字 -> binary_search.MissingNumber
面试题53(三): 数组中数值和下标相等的元素 -> binary_search.IntegerIdenticalToIndex
面试题54: 二叉搜索树的第k个结点 -> LeetCode 230.Kth Smallest Element in a BST
面试题55(一): 二叉树的深度 -> LeetCode 104.Maximum Depth of Binary Tree
面试题55(二): 平衡二叉树 -> LeetCode 110.Balanced Binary Tree
面试题56(一): 数组中只出现一次的两个数字 -> LeetCode 260.Single Number III
面试题56(二): 数组中唯一只出现一次的数字 -> LeetCode 137.Single Number II
面试题57(一): 和为s的两个数字 -> two_pointers.FindNumbersWithSum
面试题57(二): 为s的连续正数序列 -> two_pointers.ContinuousSequenceWithSum
面试题58(一): 翻转单词顺序 -> string.ReverseWordsInSentence
面试题58(二): 左旋转字符串 -> array.RotateString
面试题59(一): 滑动窗口的最大值 -> sliding_window.SlidingWindowMaximum
面试题60: n个骰子的点数 -> dynamic_programming.DicesProbability
面试题61: 扑克牌的顺子 -> sorting.ContinuousCards
面试题62: 圆圈中最后剩下的数字 -> math.LastNumberInCircle
面试题63: 股票的最大利润 -> LeetCode 121.Best Time to Buy and Sell Stock
面试题64: 求1+2+…+n -> design.Accumulate
面试题65: 不用加减乘除做加法 -> bit_manipulation.AddTwoNumbers
面试题66: 构建乘积数组 -> array.ConstructArray
面试题67: 把字符串转换成整数 -> LeetCode 8.String to Integer (atoi)
面试题68: 树中两个结点的最低公共祖先
- 二叉查找树中两个结点的最低公共祖先 -> LeetCode 235.Lowest Common Ancestor of a Binary Search Tree
- 二叉树中两个结点的最低公共祖先 -> LeetCode 236.Lowest Common Ancestor of a Binary Tree
- 普通树中两个结点的最低公共祖先(有指向父结点的指针) -> tree.LowestCommonAncestorOfTreeWithParentPointer
- 普通树中两个结点的最低公共祖先(无指向父结点的指针) -> tree.LowestCommonAncestorOfTree