gitextract_6zdwcmqq/ ├── .gitignore ├── README.md ├── algorithms/ │ └── src/ │ ├── array/ │ │ ├── BinarySearch.java │ │ ├── BinarySearchTest.java │ │ ├── GenericArray.java │ │ ├── MinNumberInRotatedArray.java │ │ └── MinNumberInRotatedArrayTest.java │ ├── joseph/ │ │ └── Joseph.java │ ├── linkedlist/ │ │ ├── FindMidNode.java │ │ ├── FindMidNodeTest.java │ │ ├── SingleLinkedList.java │ │ └── SingleLinkedListTest.java │ ├── lru/ │ │ ├── LRU.java │ │ └── LRUTest.java │ ├── queue/ │ │ ├── ArrayQueue.java │ │ ├── CircularQueue.java │ │ ├── ListQueue.java │ │ └── Queue.java │ └── stack/ │ ├── ArrayStack.java │ ├── DynamicArrayStack.java │ ├── ListStack.java │ ├── SampleBrowser.java │ └── Stack.java ├── appendix/ │ ├── instructions.md │ └── 刷题笔记.md ├── leetcode/ │ └── src/ │ ├── linkedlistcycle_141/ │ │ └── LinkedListCycle.java │ ├── lrucache_146/ │ │ └── LRUCache.java │ ├── mergetwosortedlist_21/ │ │ └── Merge2SortedLists.java │ ├── middleofthelinkedlist_876/ │ │ └── MiddleNode.java │ ├── palindromelinkedlist_234/ │ │ └── PalindromeLinkedList.java │ ├── removenthnodefromendoflist_19/ │ │ └── RemoveNthNodeFromEndOfList.java │ ├── reverselinkedlist_206/ │ │ └── ReverseList.java │ ├── threesum_015/ │ │ └── ThreeSum.java │ └── twosum_001/ │ └── TwoSum.java ├── offer/ │ └── src/ │ └── com/ │ └── ex/ │ ├── offer/ │ │ ├── Attention.txt │ │ ├── Ex_03_FindDuplicatedNumInArray.java │ │ ├── Ex_03_FindDuplicatedNumInWithoutChangeArray.java │ │ ├── Ex_04_FindNumIn2VArray.java │ │ ├── Ex_05_ReplaceSpace.java │ │ ├── Ex_06_PrintListFromTailToHead.java │ │ ├── Ex_07_ReConstructBT.java │ │ ├── Ex_08_DescendantNode.java │ │ ├── Ex_08_GetNextNodeInBT.java │ │ ├── Ex_09_QueueWithTwoStack.java │ │ ├── Ex_09_StackWithTwoQueue.java │ │ ├── Ex_10_Fibonacci.java │ │ ├── Ex_10_JumpFloor.java │ │ ├── Ex_10_JumpFloorII.java │ │ ├── Ex_10_RectCover.java │ │ ├── Ex_11_MinNumOfRotatingArray.java │ │ ├── Ex_11_SortAges.java │ │ ├── Ex_12_HasPathInMatrix.java │ │ ├── Ex_13_MovingCount.java │ │ ├── Ex_14_MaxProductionAfterCutting.java │ │ ├── Ex_15_Count1.java │ │ ├── Ex_15_CountDifferInMN.java │ │ ├── Ex_15_IsPowerOf2.java │ │ ├── Ex_16_Power.java │ │ ├── Ex_17_AddTwoBigNumber.java │ │ ├── Ex_17_Print1ToMaxNDigits.java │ │ ├── Ex_18_DeleteDuplicatedNode.java │ │ ├── Ex_18_DeleteNodeInSList.java │ │ ├── Ex_19_Match.java │ │ ├── Ex_20_IsNumber.java │ │ ├── Ex_21_ReOrderArray.java │ │ ├── Ex_22_FindKthNodeToTail.java │ │ ├── Ex_22_FindMedianNodeInList.java │ │ ├── Ex_23_EntryNodeInList.java │ │ ├── Ex_24_ReverseSList.java │ │ ├── Ex_25_MergeList.java │ │ ├── Ex_26_IsSubTree.java │ │ ├── Ex_27_MirrorOfTree.java │ │ ├── Ex_28_SymmetricalTree.java │ │ ├── Ex_29_PrintMatrixWithClockWise.java │ │ ├── Ex_30_StackWithMinFunction.java │ │ ├── Ex_31_IsPopOrder.java │ │ ├── Ex_32_PrintTreeByLayer.java │ │ ├── Ex_32_PrintTreeWithZhi.java │ │ ├── Ex_32_TraverseTreeByLayer.java │ │ ├── Ex_33_VerifySequenceOfBST.java │ │ ├── Ex_34_FindPathInBT.java │ │ ├── Ex_34_FindPathInBT_1.java │ │ ├── Ex_34_FindPathInBT_2.java │ │ ├── Ex_35_CloneList.java │ │ ├── Ex_36_ConvertBetweenBSTAndDList.java │ │ ├── Ex_37_SerializeBT.java │ │ ├── Ex_38_EightQueen.java │ │ ├── Ex_38_StringCombination.java │ │ ├── Ex_38_StringPermutation.java │ │ ├── Ex_39_KthSmallestNumInArrayWithoutSort.java │ │ ├── Ex_39_MoreThanHalfNum.java │ │ ├── Ex_40_GetLeastKNumbers.java │ │ ├── Ex_41_MedianInDataFlow.java │ │ ├── Ex_42_MaxSumOfSubArray.java │ │ ├── Ex_43_NumberOf1Between1AndN.java │ │ ├── Ex_44_ANumInArray.java │ │ ├── Ex_45_MinNumByConcatArray.java │ │ ├── Ex_46_ConvertStringToIP.java │ │ ├── Ex_46_TranslationFromIntToString.java │ │ ├── Ex_47_MaxGiftValue.java │ │ ├── Ex_48_LongestSubStringWithDuplication.java │ │ ├── Ex_49_UglyNumber.java │ │ ├── Ex_50_FirstNotRepeatedChar.java │ │ ├── Ex_50_FirstNotRepeatedCharInDataFlow.java │ │ ├── Ex_50_StringUtilsSolutions.java │ │ ├── Ex_51_InversePairs.java │ │ ├── Ex_51_InversePairs_BigData.java │ │ ├── Ex_52_FirstCommonNode.java │ │ ├── Ex_53_GetMissingNumber.java │ │ ├── Ex_53_GetNumberOfK.java │ │ ├── Ex_53_GetNumberSameAsIndex.java │ │ ├── Ex_54_KthNodeInBST.java │ │ ├── Ex_55_BalancedBT.java │ │ ├── Ex_55_DepthOfBT.java │ │ ├── Ex_56_AppearanceOnce.java │ │ ├── Ex_56_AppearanceOnce_Continued.java │ │ ├── Ex_57_FindContinuousSequence.java │ │ ├── Ex_57_FindNumbersWithSum.java │ │ ├── Ex_58_ROL.java │ │ ├── Ex_58_ReverseSentence.java │ │ ├── Ex_59_MaxNumOfSlidingWindow.java │ │ ├── Ex_59_QueueWithMax.java │ │ ├── Ex_60_ProbabilityOfS.java │ │ ├── Ex_61_ContinuousSequence.java │ │ ├── Ex_62_Josephus.java │ │ ├── Ex_63_MaxProfits.java │ │ ├── Ex_64_SumFrom1ToN.java │ │ ├── Ex_65_AddWithoutCarry.java │ │ ├── Ex_65_SwapNumWithoutTemp.java │ │ ├── Ex_66_ConstructMultiplyArray.java │ │ ├── Ex_67_StringToInt.java │ │ ├── Ex_68_LowestCommonAncestor.java │ │ ├── ListNode.java │ │ ├── Node.java │ │ ├── RandomListNode.java │ │ ├── TestUtils.java │ │ ├── TreeLinkNode.java │ │ └── TreeNode.java │ └── singleton/ │ ├── Singleton1.java │ ├── Singleton2.java │ ├── Singleton3.java │ ├── Singleton4.java │ ├── Singleton5.java │ └── singleton.md ├── practice/ │ ├── Final.md │ ├── README.md │ └── src/ │ └── io/ │ └── gkd/ │ ├── ListNode.java │ ├── Node.java │ ├── TreeNode.java │ ├── lectures/ │ │ ├── lecture04/ │ │ │ ├── Lc077_Combine.java │ │ │ └── Lc078_SubSets.java │ │ └── lecture05/ │ │ ├── Lc094_InOrderTraversal.java │ │ ├── Lc105_BuildTree.java │ │ ├── Lc236_LCA.java │ │ ├── Lc297_Codec.java │ │ ├── Lc429_LevelOrderNTree.java │ │ └── Lc589_PreOrderNTree.java │ ├── week01/ │ │ ├── Lc021_MergeTwoLists.java │ │ └── Lc066_PlusOne.java │ ├── week02/ │ │ ├── Lc146_LRUCache.java │ │ └── Lc697_FindShortestSubArray.java │ └── week03/ │ ├── Lc106_BuildTree.java │ ├── Lc210_FindOrder2.java │ └── NOTES.md ├── questions/ │ └── questions.md ├── solutions/ │ └── 剑指offer 题解.md └── summary/ └── algorithm.md