![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode刷题笔记
彬小二
喜欢旅游与美食的程序员。
展开
-
LeetCode 题目-1.两数之和/7.整数反转/9.回文数 (python实现)
**作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?**两数之和题目要求:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target =...原创 2018-12-24 09:44:34 · 160 阅读 · 0 评论 -
LeetCode 题目-530.二叉搜索树的最小绝对差/543.二叉树的直径(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?530.二叉搜索树的最小绝对差题目要求给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值。例如 输入: 1 \ 3 / 2输出:1解释:最小绝对差为1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。注意: 树中至少...原创 2019-04-27 16:08:51 · 201 阅读 · 0 评论 -
LeetCode 题目-559.n叉树的最大深度/563.二叉树的坡度/572.另一个树的子树(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?559.n叉树的最大深度题目要求给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。例如 给定一个 3叉树 : 13 2 45我们应返回其最大深度,3。分析方法:层次遍历和深度遍历获取最大值皆可cl...原创 2019-04-27 17:21:45 · 199 阅读 · 0 评论 -
LeetCode 题目-589.n叉树的前序遍历/590.n叉树的后序遍历(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?589.n叉树的前序遍历题目要求给定一个 N 叉树,返回其节点值的前序遍历。分析方法:前序遍历,分别使用递归和非递归实现class Solution(object): def preorder(self, root): if not root: retu...原创 2019-04-28 11:30:32 · 214 阅读 · 0 评论 -
LeetCode 题目-617.合并二叉树/637.二叉树的层平均值(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?617.合并二叉树题目要求给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。例如输入: Tree 1 ...原创 2019-04-28 16:52:24 · 210 阅读 · 0 评论 -
LeetCode 题目-501. 二叉搜索树中众数/538.把二叉搜索树转换为累加树I(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?501. 二叉搜索树中众数题目要求给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。假定 BST 有如下定义:结点左子树中所含结点的值小于等于当前结点的值结点右子树中所含结点的值大于等于当前结点的值左子树和右子树都是二叉搜索树例如给定 BST [1,nu...原创 2019-04-19 15:51:33 · 489 阅读 · 0 评论 -
LeetCode 题目-671. 二叉树中第二小的节点/687.最长同值路径(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?671. 二叉树中第二小的节点题目要求给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0。如果一个节点有两个子节点的话,那么这个节点的值不大于它的子节点的值。给出这样的一个二叉树,你需要输出所有节点中的第二小的值。如果第二小的值不存在的话,输出 -1 。例如输入: ...原创 2019-04-29 13:25:37 · 442 阅读 · 0 评论 -
LeetCode 题目-700. 二叉搜索树中的搜索/783. 二叉搜索树结点最小距离(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?700. 二叉搜索树中的搜索题目要求给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如给定二叉搜索树: 4 / \ 2 7 / \ 1...原创 2019-05-05 20:29:12 · 469 阅读 · 0 评论 -
LeetCode 题目-872. 叶子相似的树/897. 递增顺序查找树(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?872. 叶子相似的树题目要求请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。例如 4 / \ 2 6 / \ 1 3 叶值序列(1,3,6)如果有两颗二叉树的叶值序列是...原创 2019-05-05 20:57:55 · 197 阅读 · 0 评论 -
LeetCode 题目-938. 二叉搜索树的范围和/965. 单值二叉树和(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?938. 二叉搜索树的范围和题目要求给定二叉搜索树的根结点 root,返回 L 和 R(含)之间的所有结点的值的和。二叉搜索树保证具有唯一的值。例如输入:root = [10,5,15,3,7,null,18], L = 7, R = 15输出:32示例 2:输入:root = [10,5,1...原创 2019-05-09 14:08:26 · 274 阅读 · 0 评论 -
LeetCode 题目-993. 二叉树的堂兄弟节点/1022. 从根到叶的二进制数之和(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?993. 二叉树的堂兄弟节点题目要求在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。我们给出了具有唯一值的二叉树的根节点 root,以及树中两个不同节点的值 x 和 y。只有与值 x 和 y 对应的...原创 2019-05-09 23:30:06 · 226 阅读 · 0 评论 -
链表|栈|队列|树(Python实现)
链表(单链表 双链表 循环链表)只是一个定义的结构而已 (数据结构不一样而已)具体的对这个定义的操作要到这个定义实现的类当中去调用而已概念区分头结点:是为了方便操作链表而附设的,头结点数据域通常用来保存跟链表有关的信息,比如链表的长度;首元结点:就是链表里“正式”的第一个结点,即链表的开始结点。形如a1,a2,a3,…an;头指针:头指针是指向链表的基地址。如果链表存在头...原创 2019-06-13 18:23:05 · 665 阅读 · 0 评论 -
LeetCode 题目-257.二叉树的所有路径/404.左叶子节点之和(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?257.二叉树的所有路径题目要求给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。例如输入: 1 / \2 3 \ 5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1-...原创 2019-04-15 09:42:33 · 564 阅读 · 0 评论 -
LeetCode 题目-226.翻转二叉树/235.二叉搜索树的最近公共祖先(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?226.翻转二叉树题目要求翻转一棵二叉树。例如输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1分析方法:前序遍历逐步翻转即可c...原创 2019-04-13 23:59:20 · 171 阅读 · 0 评论 -
LeetCode 题目-429. N叉树的层序遍历/437. 路径总和 III(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?429. N叉树的层序遍历题目要求给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。例如给定一个 3叉树 :返回其层序遍历:[ [1], [3,2,4], [5,6]]分析方法:广度遍历,判断每一层节点的个数即可class So...原创 2019-04-15 23:12:25 · 324 阅读 · 0 评论 -
LeetCode 题目-13.罗马数字转整数/14.最长公共前缀/20.有效的括号 (python实现)
**作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?**罗马数字转整数题目要求:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D ...原创 2018-12-24 10:15:13 · 164 阅读 · 0 评论 -
LeetCode 题目-21.合并两个有序链表/26.删除排序数组中的重复项/27.移除元素 (python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?21. 合并两个有序链表题目要求:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2-&am原创 2018-12-24 10:40:03 · 336 阅读 · 0 评论 -
LeetCode 题目-58.最后一个单词的长度/66.加一/67.二进制求和 (python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?58. 最后一个单词的长度题目要求:给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: "Hello World"输出: 5分析:以“ ”空格进行字符串的...原创 2018-12-24 16:26:25 · 247 阅读 · 0 评论 -
LeetCode 题目-69.X的平方根/70. 爬楼梯/83.删除排序链表中的重复元素 (python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?69. X的平方根题目要求:实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例:输入: 4输出: 2输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类...原创 2019-01-06 11:19:01 · 169 阅读 · 0 评论 -
LeetCode 题目-88.合并两个有序数组/100.相同的树/101 .对称二叉树 (python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?88. 合并两个有序数组题目要求:-给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保...原创 2019-01-22 15:07:25 · 190 阅读 · 0 评论 -
LeetCode 题目-141.环形链表/160.相交链表(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?141.环形链表题目要求:给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例:分析:方法一:利用库函数求解class Solution: def my...原创 2019-03-17 20:40:43 · 377 阅读 · 0 评论 -
LeetCode 题目-203.移除链表元素/206.反转链表(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?203.移除链表元素题目要求:删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5分析:方法:对给定链表加一个头结点方便后续操作cl...原创 2019-03-18 21:00:07 · 291 阅读 · 0 评论 -
LeetCode 题目-234.回文链表/237.删除链表中的结点(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?234.回文链表题目要求:请判断一个链表是否为回文链表。示例:输入: 1->2输出: false输入: 1->2->2->1输出: true分析:方法一:遍历整个链表将值存到一个列表中 然后反转列表判断是否相等class Solution(object):...原创 2019-03-19 14:04:04 · 162 阅读 · 0 评论 -
LeetCode 题目-108.将有序数组转换为二叉搜索树/110.平衡二叉树(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?108.将有序数组转换为二叉搜索树题目要求将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1例如给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5...原创 2019-04-07 23:31:45 · 533 阅读 · 0 评论 -
LeetCode 题目-111.二叉树的最小深度/112.路径总和(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?111.二叉树的最小深度题目要求给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。例如给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 ...原创 2019-04-11 23:51:30 · 229 阅读 · 0 评论 -
LeetCode 题目-104.二叉树的最大深度/107.二叉树的层次遍历(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?104.二叉树的最大深度题目要求给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。例如给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 ...原创 2019-04-02 23:24:18 · 222 阅读 · 0 评论 -
单向循环链表|双向循环链表
单向循环链表#定义节点class Node(object): def __init__(self,elem,next_=None): self.elem=elem self.next=next_class CircleLinklist(object): def __init__(self,node=None): self.hea...原创 2019-06-14 13:34:48 · 643 阅读 · 0 评论