LeetCode题解
LeetCode Top100最热面试题 记录题解
freeygh
这个作者很懒,什么都没留下…
展开
-
LeetCode_347.前K个高频元素
347. 前 K 个高频元素给定一个非空的整数数组,返回其中出现频率前k高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]说明:你可以假设给定的k总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 你的算法的时间复杂度必须优于 ...原创 2019-07-13 20:55:51 · 113 阅读 · 0 评论 -
LeetCode_322零钱兑换
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1说明:你可...原创 2019-08-24 23:42:26 · 177 阅读 · 0 评论 -
LeetCode_279.完全平方数
279. 完全平方数给定正整数n,找到若干个完全平方数(比如1, 4, 9, 16, ...)使得它们的和等于n。你需要让组成和的完全平方数的个数最少。示例1:输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.解题思路:对问题建模,将整个问题转化为一个图论...原创 2019-07-12 23:54:19 · 114 阅读 · 0 评论 -
LeetCode_257.二叉树的所有路径
257. 二叉树的所有路径给定一个二叉树,返回所有从根节点到叶子节点的路径。说明:叶子节点是指没有子节点的节点。示例:输入: 1 / \2 3 \ 5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3解题思路:在求解二叉树相关问题时,一般用...原创 2019-07-16 20:20:20 · 82 阅读 · 0 评论 -
LeetCode_235.二叉树的最近公共祖先
235. 二叉搜索树的最近公共祖先给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root =[6,2,8,0,4,7,9,null,null,3,5]...原创 2019-07-16 20:35:23 · 83 阅读 · 0 评论 -
LeetCode_226.翻转二叉树
226. 翻转二叉树翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1解题思路:充分理解二叉树递归过程中的,三部,递归终止条件,递归过程,返回结果解题代码:/** * Defini...原创 2019-07-15 20:53:18 · 89 阅读 · 0 评论 -
LeetCode_200岛屿数量
200. 岛屿数量给定一个由'1'(陆地)和'0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:输入:11110110101100000000输出:1示例2:输入:11000110000010000011输出: 3解题思路:回溯法...原创 2019-07-20 22:15:47 · 96 阅读 · 0 评论 -
LeetCode_145.二叉树的后序遍历(递归和非递归解)
145.Binary Tree Postorder TraversalGiven a binary tree, return thepostordertraversal of its nodes' values.Example:Input:[1,null,2,3] 1 \ 2 / 3Output:[3,2,1]Follow up:...原创 2019-07-07 19:41:51 · 108 阅读 · 0 评论 -
LeetCode_144.二叉树先序遍历
Binary Tree Preorder TraversalGiven a binary tree, return thepreordertraversal of its nodes' values.Example:Input:[1,null,2,3] 1 \ 2 / 3Output:[1,2,3]Follow up:Recurs...原创 2019-07-04 21:22:36 · 91 阅读 · 0 评论 -
LeetCode_121.买卖股票的最佳时机
121. 买卖股票的最佳时机给定一个数组,它的第i个元素是一支给定股票第i天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利...原创 2019-07-19 15:51:26 · 118 阅读 · 0 评论 -
LeetCode_113.路径总和2
113. 路径总和 II给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和sum = 22, 5 / \ 4 8 / / \ 11 13 4 ...原创 2019-07-16 21:10:00 · 161 阅读 · 0 评论 -
LeetCode_112.路径总和
112. 路径总和给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和sum = 22, 5 / \ 4 8 / / \ 11...原创 2019-07-15 21:12:40 · 88 阅读 · 0 评论 -
LeetCode_111.二叉树的最小深度
111. 二叉树的最小深度给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.解题思路:这题一看和求最大深度的哪一题差不多,...原创 2019-07-15 21:49:10 · 89 阅读 · 0 评论 -
LeetCode_104.二叉树的最大深度
104. 二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。解题思路:二叉树问题一般有递归比较简单,思路清晰...原创 2019-07-15 20:11:06 · 152 阅读 · 0 评论 -
LeetCode_102二叉树分层打印
102.Binary Tree Level Order TraversalMedium169244FavoriteShareGiven a binary tree, return thelevel ordertraversal of its nodes' values. (ie, from left to right, level by level).For example:...原创 2019-08-21 16:00:19 · 180 阅读 · 0 评论 -
LeetCode_94二叉树的中序遍历
给定一个二叉树,返回它的中序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶:递归算法很简单,你可以通过迭代算法完成吗?1.递归实现/** * Definition for a binary tree node. * struct TreeNode { * int val; ...原创 2019-07-04 20:46:18 · 71 阅读 · 0 评论 -
LeetCode_79单词搜索
79. 单词搜索给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]给定 wor...原创 2019-07-20 21:36:44 · 150 阅读 · 0 评论 -
LeetCode_70.爬楼梯
70. 爬楼梯假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定n是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 +...原创 2019-07-17 19:18:06 · 66 阅读 · 0 评论 -
LeetCode_53.最大子序和
53. 最大子序和给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。解题思路:解题代码:1....原创 2019-07-19 15:43:54 · 75 阅读 · 0 评论 -
LeetCode_51.N皇后问题
51. N皇后n皇后问题研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间不能相互攻击。 上图为 8 皇后问题的一种解法。给定一个整数n,返回所有不同的n皇后问题的解决方案。每一种解法包含一个明确的n皇后问题的棋子放置方案,该方案中'Q'和'....原创 2019-07-21 20:57:07 · 207 阅读 · 0 评论 -
LeetCode_46.全排列
46. 全排列给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解题思路:解题代码:1.class Solution {public: vector<vector<i...原创 2019-07-18 21:01:50 · 87 阅读 · 0 评论 -
LeetCode_20.有效的括号
给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: ...原创 2019-07-03 23:17:12 · 115 阅读 · 0 评论 -
LeetCode_17.电话号码的字母组合
17. 电话号码的字母组合给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。...原创 2019-07-17 23:21:16 · 94 阅读 · 0 评论 -
LeetCode_4.两个排序数组的中位数
4.Median of Two Sorted Arrays(两个排序数组的中位数):其实就是找第K大的数HardThere are two sorted arraysnums1andnums2of size m and n respectively.Find the median of the two sorted arrays. The overall run time com...原创 2019-07-11 23:44:05 · 82 阅读 · 0 评论 -
LeetCode_3.无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"w...原创 2019-07-01 22:44:58 · 103 阅读 · 0 评论 -
Leetcode_2.两数相加
2.Add Two Numbers_MediumYou are given twonon-emptylinked lists representing two non-negative integers. The digits are stored inreverse orderand each of their nodes contain a single digit. Add t...原创 2019-07-01 00:07:22 · 93 阅读 · 0 评论 -
Leetcode_1.两数之和
1.Two SumGiven an array of integers, returnindicesof the two numbers such that they add up to a specific target.You may assume that each input would haveexactlyone solution, and you may not u...原创 2019-06-30 22:21:48 · 71 阅读 · 0 评论