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 ...
随机推荐
- JavaScript事件对象与事件的委托
事件对象 包含事件相关的信息,如鼠标.时间.触发的DOM对象等 js默认将事件对象封装好,并自动的以参数的形式,传递给事件处理函数的第1个参数,如下: document.getElementsByTa ...
- JZOJ 5842
Description 给定一个n*m 的 01 矩阵,求包含[l,r]个 1 的子矩形个数. Input 第一行,两个正整数n,m.接下来n 行,每行一个长度为 m 的 01 串,表示给定的矩阵.接 ...
- 初学python来进行odoo12版本开发
这是我的第一篇博客.请多多指教! 首先要下载odoo-12的源代码 官方下载路径: https://github.com/odoo/odoo/archive/12.0.zip 随便新 ...
- Gym 100829S_surf 动态规划的优化
题目大意是,非你若干个任务,任务分别对应开始时间.预期收益.持续时间三项指标,让你从中选择一个受益最大的方案(没有开始时间相同的任务). 于是,标准状态转移方程应当为,设DP[K]为选择了前K个任务的 ...
- Linux命令之---pwd
命令简介 Linux中用 pwd 命令用来查看”当前工作目录“的完整路径. 命令格式 pwd [选项] 命令功能和参数 功能:查看”当前工作目录“的完整路径:参数:一般情况下不带任何参数,如果目录是链 ...
- [原]sencha touch之panel和tabpanel
最近在弄senchatouch的项目,所以边学习边开发,边记录,直接记录下test code如下: Panel: Ext.application({ name:'itKingApp', launch: ...
- 【Jump Game】cpp
题目: Given an array of non-negative integers, you are initially positioned at the first index of the ...
- 【Trapping Rain Water】cpp
题目: Given n non-negative integers representing an elevation map where the width of each bar is 1, co ...
- RSA进阶之维纳攻击(wiener-attack )
维纳攻击: 场景:e很大 例题: 第七届山东网络安全技能大赛 链接:https://pan.baidu.com/s/1IRInw3pB7SQfp3MxRJW17A 提取码:lcn3 e很大,妥了,维纳 ...
- jmeter全局变量配置:将token运用到全局(跨线程组使用变量)
请注意元器件的执行顺序: 请将提取token的配置原件放在设置全局变量的配置元器件前面(本来是一个超级马虎的人,真是俗称“方脑壳”啊) 1.获取登录后的token(提取可以用json path Ext ...