LeetCode总结【转】
转自:http://blog.csdn.net/lanxu_yy/article/details/17848219
版权声明:本文为博主原创文章,未经博主允许不得转载。
最近完成了www.leetcode.com的online judge中151道算法题目。除各个题目有特殊巧妙的解法以外,大部分题目都是经典的算法或者数据结构,因此做了如下小结,具体的解题思路可以搜索我的博客:LeetCode题解
| 题目 | 算法 | 数据结构 | 注意事项 |
| Clone Graph | BFS | 哈希表 | |
| Word Ladder II | BFS | 哈希表 | |
| Surrounded Regions | BFS | 矩阵 | |
| Word Ladder | BFS | N/A | |
| Binary Tree Level Order Traversal | BFS|前序遍历 | 队列 | |
| Binary Tree Level Order Traversal II | BFS|前序遍历 | 队列 | |
| Binary Tree Zigzag Level Order Traversal | BFS|前序遍历 | 队列 | 每一层顺序分别对待 |
| Implement strStr() | KMP算法 | N/A | |
| Copy List with Random Pointer | N/A | 哈希表 | |
| Remove Duplicates from Sorted Array | N/A | 哈希表 | |
| Remove Duplicates from Sorted Array II | N/A | 哈希表 | |
| Set Matrix Zeroes | N/A | 哈希表 | |
| Anagrams | N/A | 哈希表 | |
| First Missing Positive | N/A | 哈希表 | |
| Two Sum | N/A | 哈希表 | |
| Evaluate Reverse Polish Notation | N/A | 堆栈 | |
| Largest Rectangle in Histogram | N/A | 堆栈 | 记录重要位置 |
| Minimum Window Substring | N/A | 堆栈 | |
| Simplify Path | N/A | 堆栈 | |
| Longest Valid Parentheses | N/A | 堆栈 | |
| Valid Parentheses | N/A | 堆栈 | 词法分析 |
| Container With Most Water | N/A | 堆栈 | 记录重要位置 |
| Reverse Words in a String | N/A | 堆栈 | 翻转字符串 |
| Best Time to Buy and Sell Stock | N/A | 数组 | |
| Best Time to Buy and Sell Stock II | N/A | 数组 | |
| Best Time to Buy and Sell Stock III | N/A | 数组 | |
| Length of Last Word | N/A | 数组 | |
| Search Insert Position | N/A | 数组 | |
| Search for a Range | N/A | 数组 | |
| Spiral Matrix | N/A | 矩阵 | 简化为子问题 |
| Spiral Matrix II | N/A | 矩阵 | 简化为子问题 |
| LRU Cache | N/A | 链表 | |
| Reorder List | N/A | 链表 | 快慢指针&链表倒序 |
| Linked List Cycle | N/A | 链表 | 快慢指针 |
| Linked List Cycle II | N/A | 链表 | 快慢指针 |
| Reverse Linked List II | N/A | 链表 | |
| Partition List | N/A | 链表 | |
| Remove Duplicates from Sorted List | N/A | 链表 | |
| Remove Duplicates from Sorted List II | N/A | 链表 | |
| Merge Two Sorted Lists | N/A | 链表 | |
| Rotate List | N/A | 链表 | 快慢指针 |
| Reverse Nodes in k-Group | N/A | 链表 | |
| Swap Nodes in Pairs | N/A | 链表 | |
| Remove Nth Node From End of List | N/A | 链表 | 快慢指针 |
| Text Justification | N/A | 队列 | |
| Candy | N/A | N/A | 简化为子问题 |
| Valid Palindrome | N/A | N/A | 首尾指针 |
| Plus One | N/A | N/A | 模拟加法运算 |
| Valid Number | N/A | N/A | 词法分析 |
| Add Binary | N/A | N/A | 模拟加法运算 |
| Insert Interval | N/A | N/A | |
| Merge Intervals | N/A | N/A | |
| Multiply Strings | N/A | N/A | 模拟乘法运算 |
| Trapping Rain Water | N/A | N/A | |
| Valid Sudoku | N/A | N/A | |
| Roman to Integer | N/A | N/A | |
| Integer to Roman | N/A | N/A | |
| Palindrome Number | N/A | N/A | |
| Reverse Integer | N/A | N/A | |
| ZigZag Conversion | N/A | N/A | |
| Add Two Numbers | N/A | N/A | 模拟加法运算 |
| Median of Two Sorted Arrays | N/A | N/A | |
| String to Integer (atoi) | STL函数 | N/A | |
| Next Permutation | STL经典算法 | N/A | |
| Recover Binary Search Tree | 中序遍历 | 二叉树 | |
| 3Sum | 二分查找 | N/A | |
| 3Sum Closest | 二分查找 | N/A | |
| 4Sum | 二分查找 | N/A | |
| Single Number | 位运算 | N/A | |
| Single Number II | 位运算 | N/A | |
| Construct Binary Tree from Preorder and Inorder Traversal | 前序中序遍历 | N/A | |
| Binary Tree Preorder Traversal | 前序遍历 | 二叉树 | |
| Flatten Binary Tree to Linked List | 前序遍历 | 二叉树 | |
| Interleaving String | 动态规划 | 二叉树 | |
| Unique Binary Search Trees | 动态规划 | 二叉树 | |
| Word Break | 动态规划 | N/A | |
| Word Break II | 动态规划 | N/A | |
| Palindrome Partitioning | 动态规划 | N/A | |
| Palindrome Partitioning II | 动态规划 | N/A | |
| Triangle | 动态规划 | N/A | |
| Distinct Subsequences | 动态规划 | N/A | |
| Decode Ways | 动态规划 | N/A | |
| Scramble String | 动态规划 | N/A | |
| Maximal Rectangle | 动态规划 | N/A | |
| Edit Distance | 动态规划 | N/A | |
| Climbing Stairs | 动态规划 | N/A | |
| Minimum Path Sum | 动态规划 | N/A | |
| Unique Paths | 动态规划 | N/A | |
| Unique Paths II | 动态规划 | N/A | |
| Jump Game | 动态规划 | N/A | |
| Jump Game II | 动态规划 | N/A | |
| Maximum Subarray | 动态规划 | N/A | |
| Wildcard Matching | 动态规划 | N/A | |
| Substring with Concatenation of All Words | 动态规划 | N/A | |
| Sort List | 合并排序 | 链表 | 快慢指针 |
| Merge Sorted Array | 合并排序 | N/A | |
| Construct Binary Tree from Inorder and Postorder Traversal | 后序中序遍历 | N/A | |
| Binary Tree Postorder Traversal | 后续遍历 | 二叉树 | |
| Combinations | 回溯 | N/A | |
| Permutation Sequence | 回溯 | N/A | |
| N-Queens | 回溯 | N/A | |
| N-Queens II | 回溯 | N/A | |
| Permutations | 回溯 | N/A | |
| Permutations II | 回溯 | N/A | |
| Combination Sum | 回溯 | N/A | |
| Combination Sum II | 回溯 | N/A | |
| Sudoku Solver | 回溯 | N/A | |
| Longest Substring Without Repeating Characters | 回溯 | N/A | |
| Max Points on a Line | 循环遍历 | N/A | 排除相同的点 |
| Longest Common Prefix | 循环遍历 | N/A | |
| Longest Palindromic Substring | 循环遍历 | N/A | |
| Insertion Sort List | 插入排序 | 链表 | |
| Rotate Image | 矢量旋转与平移 | N/A | |
| Longest Consecutive Sequence | 类BFS | 哈希表 | |
| Search in Rotated Sorted Array | 类二分查找 | N/A | |
| Search in Rotated Sorted Array II | 类二分查找 | N/A | 特殊考虑相等数据 |
| Sqrt(x) | 类二分查找 | N/A | |
| Pow(x, n) | 类二进制 | N/A | |
| Divide Two Integers | 类二进制 | N/A | |
| Gas Station | 类合并排序 | N/A | |
| Merge k Sorted Lists | 类外排序 | N/A | |
| Sort Colors | 类快速排序 | N/A | |
| Remove Element | 类快速排序 | N/A | |
| Search a 2D Matrix | 类杨氏矩阵 | N/A | |
| Restore IP Addresses | 背包问题 | N/A | |
| Sum Root to Leaf Numbers | 递归 | 二叉树 | |
| Binary Tree Maximum Path Sum | 递归 | 二叉树 | |
| opulating Next Right Pointers in Each Node | 递归 | 二叉树 | |
| Populating Next Right Pointers in Each Node II | 递归 | 二叉树 | |
| Path Sum | 递归 | 二叉树 | |
| Path Sum II | 递归 | 二叉树 | |
| Maximum Depth of Binary Tree | 递归 | 二叉树 | |
| Minimum Depth of Binary Tree | 递归 | 二叉树 | |
| Balanced Binary Tree | 递归 | 二叉树 | |
| Symmetric Tree | 递归 | 二叉树 | |
| Same Tree | 递归 | 二叉树 | |
| Validate Binary Search Tree | 递归 | 二叉树 | |
| Unique Binary Search Trees II | 递归 | 二叉树 | |
| Binary Tree Inorder Traversal | 递归 | 二叉树 | |
| Pascal's Triangle | 递归 | N/A | |
| Pascal's Triangle II | 递归 | N/A | |
| Convert Sorted List to Binary Search Tree | 递归 | N/A | 快慢指针&反中序遍历 |
| Convert Sorted Array to Binary Search Tree | 递归 | N/A | 反中序遍历 |
| Subsets | 递归 | N/A | |
| Subsets II | 递归 | N/A | |
| Gray Code | 递归 | N/A | |
| Word Search | 递归 | N/A | |
| Count and Say | 递归 | N/A | |
| Generate Parentheses | 递归 | N/A | |
| Letter Combinations of a Phone Number | 递归 | N/A | |
| Regular Expression Matching | 递归 | N/A |
LeetCode总结【转】的更多相关文章
- 我为什么要写LeetCode的博客?
# 增强学习成果 有一个研究成果,在学习中传授他人知识和讨论是最高效的做法,而看书则是最低效的做法(具体研究成果没找到地址).我写LeetCode博客主要目的是增强学习成果.当然,我也想出名,然而不知 ...
- LeetCode All in One 题目讲解汇总(持续更新中...)
终于将LeetCode的免费题刷完了,真是漫长的第一遍啊,估计很多题都忘的差不多了,这次开个题目汇总贴,并附上每道题目的解题连接,方便之后查阅吧~ 477 Total Hamming Distance ...
- [LeetCode] Longest Substring with At Least K Repeating Characters 至少有K个重复字符的最长子字符串
Find the length of the longest substring T of a given string (consists of lowercase letters only) su ...
- Leetcode 笔记 113 - Path Sum II
题目链接:Path Sum II | LeetCode OJ Given a binary tree and a sum, find all root-to-leaf paths where each ...
- Leetcode 笔记 112 - Path Sum
题目链接:Path Sum | LeetCode OJ Given a binary tree and a sum, determine if the tree has a root-to-leaf ...
- Leetcode 笔记 110 - Balanced Binary Tree
题目链接:Balanced Binary Tree | LeetCode OJ Given a binary tree, determine if it is height-balanced. For ...
- Leetcode 笔记 100 - Same Tree
题目链接:Same Tree | LeetCode OJ Given two binary trees, write a function to check if they are equal or ...
- Leetcode 笔记 99 - Recover Binary Search Tree
题目链接:Recover Binary Search Tree | LeetCode OJ Two elements of a binary search tree (BST) are swapped ...
- Leetcode 笔记 98 - Validate Binary Search Tree
题目链接:Validate Binary Search Tree | LeetCode OJ Given a binary tree, determine if it is a valid binar ...
- Leetcode 笔记 101 - Symmetric Tree
题目链接:Symmetric Tree | LeetCode OJ Given a binary tree, check whether it is a mirror of itself (ie, s ...
随机推荐
- Python知识点入门笔记——Python的基本数据类型
Python的数字分为4种类型:整数(int).浮点数(float).布尔值(bool).复数(complex). type()函数可以知道数据的类型,如type(233)是int型,type(233 ...
- 循环(while、for)
写重复的代码是程序员最不耻的行为,那么如何做到不用写重复代码又能让程序重复一段代码多次呢,循环语句就派上用场拉…… 一.while 循环 # while 语法结构 while 条件: 执行代码.... ...
- Python学习笔记(七)加密加盐
MD5加密和加盐 Python的MD5加密 Python的hashlib模块的MD5加密,是比较简单一种加密,md5函数必须传入编译后的结果,否则会报错: Traceback (most recent ...
- Reachability from the Capital
题目描述 There are nn cities and mm roads in Berland. Each road connects a pair of cities. The roads in ...
- Android stadio
Android stadio 最近遇到大问题,就是主功能行.但是让它做库工程,他就不管用. 但是在eclipse里面就可以.
- java线程安全问题原因及解决办法
1.为什么会出现线程安全问题 计算机系统资源分配的单位为进程,同一个进程中允许多个线程并发执行,并且多个线程会共享进程范围内的资源:例如内存地址.当多个线程并发访问同一个内存地址并且内存地址保存的值是 ...
- Mac教程macOS教程 苹果电脑教程
第1 章 初识MacOS 01 菜单栏 02 键盘 03 聚焦(Spotlight)
- django orm 基本Field介绍
ORM:object relational mapping,对象关系映射 django中使用原生sql的弊端: 1.SQL语句重复率很高,利用率不高 2.如果业务逻辑生变,原生SQL更改起来比较多 3 ...
- linux系统web日志分析脚本
linux系统web日志分析这方面工具比较多,比如logwatch或awstats等使用perl语言开发,功能都非常强大.但这些软件都需要进行一些配置,很多朋友往往在技术方面没有投入太多力量,即便参照 ...
- 【bzoj3879】SvT 后缀数组+倍增RMQ+单调栈
题目描述 (我并不想告诉你题目名字是什么鬼) 有一个长度为n的仅包含小写字母的字符串S,下标范围为[1,n]. 现在有若干组询问,对于每一个询问,我们给出若干个后缀(以其在S中出现的起始位置来表示), ...