leetcode刷题整理:
3——Longest Substring Without Repeating Characters(set,哈希表,两个指针)
11——Container With Most Water(两个指针)
12——Integer to Roman(string,数学问题)
13——Roman to Integer(string,数学问题)
14——Longest Common Prefix(字符串)
17——Letter Combinations of a Phone Number(简单题)
19——Remove Nth Node From End of List(链表)
20——Valid Parentheses(string,stack堆栈)
21——Merge Two Sorted Lists(链表)
24——Swap Nodes in Pairs(线性表的链式存储)
25——Reverse Nodes in k-Group (链表)
26——Reverse Integer(int型的表示范围)
26——Remove Duplicates from Sorted Array (两个指针)
28——Implement strStr()(采用KMP算法,还没AC,但自己这边测试无误)
33——Search in Rotated Sorted Array(二分查找)
35——Search Insert Position(二分查找)
38——Count and Say(string,迭代计数)
49——Anagrams(string,hashtable,还用到了算法sort,迭代器)
67——Add Binary(字符串string,反向迭代器reverse_iterator,栈stack)
80——Remove Duplicates from Sorted Array II(两个指针)
81——Search in Rotated Sorted Array II(二分查找)
83——Remove Duplicates from Sorted List(链表,哈希表)
92——Reverse Linked List II(链表操作)
94——Binary Tree Inorder Traversal (二叉树,递归,队列queue,栈stack,set)
96——Unique Binary Search Trees(动态规划)
101——Symmetric Tree (树tree,递归,还有迭代没想出来)
102——Binary Tree Level Order Traversal(二叉树,广度优先搜索,队列)
103——Binary Tree Zigzag Level Order Traversal(广度优先搜索,队列queue,栈stack)
104——Maximum Depth of Binary Tree (二叉树,递归,队列,还有递归没想出来)
105——Construct Binary Tree from Preorder and Inorder Traversal(树,递归)
107——Binary Tree Level Order Traversal II (二叉树,广度优先搜索,队列,栈)
111——Minimum Depth of Binary Tree(二叉树,队列)
112——Path Sum(二叉树,深度优先搜索,用了递归和迭代的方法)
115——Distinct Subsequences(动态规划)
116——Populating Next Right Pointers in Each Node(树,广度优先搜索)
118——Pascal‘s Triangle(简单的数学题)
119——Pascal‘s Triangle II (简单题,简单的递归)
121——Best Time to Buy and Sell Stock(动态规划)
122——Best Time to Buy and Sell Stock II(贪心算法)
125——Valid Palindrome(string,比较常规思路)
129——Sum Root to Leaf Numbers(基于DFS的递归)
136——Single Number(哈希表hashtable,multiset,位运算)
142——Linked List Cycle II(set)
144——Binary Tree Preorder Traversal(二叉树,递归,栈的使用)
145——Binary Tree Postorder Traversal(二叉树,递归,栈的应用)
147——Insertion Sort List(线性表,插入排序)
152——Maximum Product Subarray(动态规划)
153——Find Minimum in Rotated Sorted Array(二分查找)
160——Intersection of Two Linked Lists(线性表,哈希表)
165——Compare Version Numbers(string)
168——Excel Sheet Column Title(数学问题)
169——Majority Element(采用的map来做的)
171——Excel Sheet Column Number(简单数学题)
199——Binary Tree Right Side View(广度优先搜索,队列queue)
201——Bitwise AND of Numbers Range(位操作)
203——Remove Linked List Elements(链表)
205——Isomorphic Strings(用的map)
209——Minimum Size Subarray Sum(两个指针)
215——Kth Largest Element in an Array(堆排序)
219——Contains Duplicate II(哈希表)
222——Count Complete Tree Nodes(完全二叉树)
225——Implement Stack using Queues (队列,栈)
226——Invert Binary Tree(队列,广度优先搜索)
230——Kth Smallest Element in a BST(二叉搜索树,中序遍历)
232——Implement Queue using Stacks(栈与队列)
234——Palindrome Linked List(链表)
235——Lowest Common Ancestor of a Binary Search Tree(二叉排序树)
236——Lowest Common Ancestor of a Binary Tree(tree,后序遍历)
237——Delete Node in a Linked List(链表)
238——Product of Array Except Self(数组,用空间换时间)
241——Different Ways to Add Parentheses (递归,动态规划,分治法)
编程之美: