![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
文章平均质量分 51
嫩草终结者
一个渴望成为大牛的小程序猿
展开
-
leetcode之哈希表五: 检查是否每一行每一列都包含全部整数
原题:一、题目要求二、解题三、运行结果四、提交结果原创 2022-01-16 18:53:23 · 273 阅读 · 0 评论 -
leetcode之哈希表一: 宝石与石头
原题:一、题目要求二、解题三、运行结果四、提交结果原创 2021-12-26 21:31:47 · 2423 阅读 · 0 评论 -
leetcode之二叉树十三:二叉树的层序遍历
原题:一、题目要求二、解题原创 2021-07-11 22:52:03 · 141 阅读 · 2 评论 -
leetcode之二叉树十二: 二叉树的中序遍历
原题:一、题目要求二、解题三、运行结果原创 2021-06-20 22:30:19 · 120 阅读 · 0 评论 -
leetcode之二叉树十一: 单值二叉树
原题:https://leetcode-cn.com/problems/univalued-binary-tree/一、题目要求如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回true;否则返回false。示例 1:输入:[1,1,1,1,1,null,1]输出:true示例 2:输入:[2,2,2,5,2]输出:false提示:给定树的节点数范围是[1, 100]。 每个节点的值都...原创 2021-05-23 22:24:43 · 157 阅读 · 0 评论 -
leetcode之二叉树十: 合并二叉树
原题:https://leetcode-cn.com/problems/merge-two-binary-trees/一、题目要求给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为NULL 的节点将直接作为新二叉树的节点。示例1:输入: Tree 1 Tree 2 ...原创 2021-05-16 21:23:30 · 139 阅读 · 0 评论 -
leetcode之二叉树九: 左叶子之和
原题:https://leetcode-cn.com/problems/sum-of-left-leaves/一、题目要求计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24二、解题package com.leetcode.test.tree;import java.util.ArrayList;import java.util...原创 2021-05-16 20:03:59 · 130 阅读 · 0 评论 -
leetcode之二叉树八: 二叉树的所有路径
原题:https://leetcode-cn.com/problems/binary-tree-paths/一、题目要求给定一个二叉树,返回所有从根节点到叶子节点的路径。说明:叶子节点是指没有子节点的节点。示例:输入: 1/ \2 3\ 5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3二、解题package com....原创 2021-05-16 18:15:05 · 143 阅读 · 0 评论 -
leetcode之二叉树七: 二叉搜索树的最近公共祖先
原题:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-search-tree/一、题目要求给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树:root =[6,2,8,0,...原创 2021-05-16 13:12:18 · 170 阅读 · 0 评论 -
leetcode之二叉树六: 二叉树的后序遍历
原题:https://leetcode-cn.com/problems/binary-tree-postorder-traversal/一、题目要求给定一个二叉树,返回它的后序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]二、解题package com.leetcode.test.tree;import java.lang.reflect.Array;import jav...原创 2021-05-16 12:37:48 · 86 阅读 · 0 评论 -
leetcode之二叉树五: 翻转二叉树
原题:https://leetcode-cn.com/problems/invert-binary-tree/一、题目要求翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1备注:这个问题是受到 Max Howell 的 原问题 启发的 :谷歌:我们90%的工程师使用您编写的软件(Ho.原创 2021-05-05 23:36:34 · 82 阅读 · 0 评论 -
leetcode之二叉树四: 二叉树的最小深度
原题:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/一、题目要求给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例 1:输入:root = [3,9,20,null,null,15,7]输出:2示例 2:输入:root = [2,null,3,null,4,null,5,null,6]输出:5提示.原创 2021-05-05 10:59:44 · 115 阅读 · 0 评论 -
leetcode之二叉树三: 二叉树的最大深度
原题:https://leetcode-cn.com/problems/same-tree/一、题目要求给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。二、解题package com.leetcode.test.tr...原创 2021-05-05 10:03:37 · 91 阅读 · 0 评论 -
leetcode之二叉树二: 对称二叉树
原题:https://leetcode-cn.com/problems/symmetric-tree/一、题目要求给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3]是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3]则不是镜像对称的: 1 / \ 2 2 \ \ 3 3进阶:你可以运用...原创 2021-05-05 09:43:00 · 65 阅读 · 0 评论 -
leetcode之二叉树一: 相同的树
原题:https://leetcode-cn.com/problems/same-tree/一、题目要求给你两棵二叉树的根节点p和q,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入:p = [1,2,3], q = [1,2,3]输出:true示例 2:输入:p = [1,2], q = [1,null,2]输出:false示例 3:输入:p = [1...原创 2021-05-04 23:50:29 · 158 阅读 · 0 评论 -
leetcode之链表十三: 1669-合并两个链表
原题:https://leetcode-cn.com/problems/merge-in-between-linked-lists/一、题目要求给你两个链表list1和list2,它们包含的元素分别为n个和m个。请你将list1中第a个节点到第b个节点删除,并将list2接在被删除节点的位置。下图中蓝色边和节点展示了操作后的结果:请你返回结果链表的头指针。示例 1:输入:list1 = [0,1,2,3,4,5], a = 3, b = ...原创 2021-05-04 21:08:18 · 287 阅读 · 0 评论 -
leetcode之链表十二: 1721-交换链表中的节点
原题:https://leetcode-cn.com/problems/swapping-nodes-in-a-linked-list/一、题目要求给你链表的头节点head和一个整数k。交换链表正数第k个节点和倒数第k个节点的值后,返回链表的头节点(链表从 1 开始索引)。示例 1:输入:head = [1,2,3,4,5], k = 2输出:[1,4,3,2,5]示例 2:输入:head = [7,9,6,6,7,8,3,0,9,5], k...原创 2021-05-03 23:54:44 · 137 阅读 · 0 评论 -
leetcode之链表十一: 328-奇偶链表
原题:https://leetcode-cn.com/problems/odd-even-linked-list/一、题目要求给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->.原创 2021-05-03 23:49:14 · 234 阅读 · 0 评论 -
leetcode之链表十: 86-分隔链表
原题:https://leetcode-cn.com/problems/partition-list/一、题目要求给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。你应当 保留 两个分区中每个节点的初始相对位置。示例 1:输入:head = [1,4,3,2,5,2], x = 3输出:[1,2,2,4,3,5]示例 2:输入:head = [2,1], x = 2输出:[1.原创 2021-05-03 20:06:35 · 76 阅读 · 0 评论 -
leetcode之链表九: 61-旋转链表
原题:https://leetcode-cn.com/problems/rotate-list/一、题目要求给你一个链表的头节点head,旋转链表,将链表每个节点向右移动k个位置。示例 1:输入:head = [1,2,3,4,5], k = 2输出:[4,5,1,2,3]示例 2:输入:head = [0,1,2], k = 4输出:[2,0,1]提示:链表中节点的数目在范围[0, 500]内 -100 <= Node.val...原创 2021-05-03 18:05:33 · 78 阅读 · 0 评论 -
leetcode之链表八: 24-两两交换链表中的节点
原题:https://leetcode-cn.com/problems/swap-nodes-in-pairs/一、题目要求给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]提示:链表中节点的数目在范围[..原创 2021-05-03 17:02:22 · 85 阅读 · 0 评论 -
leetcode之链表七: 2-两数相加
原题:https://leetcode-cn.com/problems/add-two-numbers/一、题目要求给你两个非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807....原创 2021-05-03 11:24:16 · 102 阅读 · 0 评论 -
leetcode之链表六: 移除重复节点
原题:https://leetcode-cn.com/problems/remove-duplicate-node-lcci/一、题目要求编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。示例1: 输入:[1, 2, 3, 3, 2, 1] 输出:[1, 2, 3]示例2: 输入:[1, 1, 1, 1, 2] 输出:[1, 2]提示:链表长度在[0, 20000]范围内。 链表元素在[0, 20000]范围内。进阶:如果不得使用临..原创 2021-05-03 10:25:26 · 90 阅读 · 0 评论 -
leetcode之链表五: 876-链表的中间结点
原题:https://leetcode-cn.com/problems/middle-of-the-linked-list/一、题目要求给定一个头结点为head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans...原创 2021-05-03 09:33:49 · 60 阅读 · 0 评论 -
leetcode之链表四: 237-删除链表中的节点
原题:https://leetcode-cn.com/problems/delete-node-in-a-linked-list/一、题目要求请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。现有一个链表 --head =[4,5,1,9],它可以表示为:示例 1: 输入:head = [4,5,1,9], node = 5 输出:[4,1,9] 解释:给定你链表中值为5的第二个节点,那么在调用了你的函...原创 2021-05-03 08:55:27 · 93 阅读 · 0 评论 -
leetcode之链表三: 206-反转链表
原题:https://leetcode-cn.com/problems/reverse-linked-list/一、题目要求给你单链表的头节点head,请你反转链表,并返回反转后的链表。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]提示:链表中节点的数目范围是[0, 5000] -5000 <= Node.val <= 5000二、解题package com.leetcode.test.linklist;/*...原创 2021-05-02 23:49:24 · 125 阅读 · 0 评论 -
leetcode之链表二: 203-移除链表元素
原题:https://leetcode-cn.com/problems/remove-linked-list-elements/一、题目要求给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val == val的节点,并返回新的头节点。示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]二、解题其中,ListNode结构见https://blog.csdn.net/qq_325...原创 2021-05-02 22:32:34 · 62 阅读 · 0 评论 -
leetcode之链表一: 160-相交链表
原题:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/一、题目要求编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。注意:如果两个链表没有交点,返回 null. 在返回结果后,两个链表仍须保持原有的结构。 可假定整个链表结构中没有循环。 程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。二、解题其中,ListNode定义如下:..原创 2021-05-02 22:07:09 · 87 阅读 · 0 评论