LeetCode
无知的渣渣
无论是从无知到有知,还是一个渣渣的逆袭,都是需要付出的。。。
展开
-
LeetCode 103. 二叉树的锯齿形层次遍历
103. 二叉树的锯齿形层次遍历难度中等262给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[ [3], [20,9], [15,7]]解题思路:题目要求锯齿形遍历,也可以理解为锯齿形输出,而在遍历的时候依然是左右顺序遍.原创 2020-09-13 16:46:13 · 182 阅读 · 0 评论 -
LeetCode 102. 二叉树的层序遍历
102. 二叉树的层序遍历难度中等631给你一个二叉树,请你返回其按层序遍历得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]解题思路1:采用常规的二叉树遍历方式,遍历所有节点,为每一层创建一个vector,记录每一层的结点值。。。代码1:...原创 2020-09-12 21:59:05 · 182 阅读 · 0 评论 -
LeetCode 637. 二叉树的层平均值
637. 二叉树的层平均值难度简单182给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。示例 1:输入: 3 / \ 9 20 / \ 15 7输出:[3, 14.5, 11]解释:第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。提示:节点值的范围在32位有符号整数范围内。解题思路:题目说的是每层的平均值,那么除了在遍历所有节点的同时还需要记住每..原创 2020-09-12 21:18:56 · 192 阅读 · 0 评论 -
LeetCode 109. 有序链表转换二叉搜索树
给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 ...原创 2019-09-01 12:51:26 · 163 阅读 · 0 评论 -
LeetCode 92. 反转链表 II
反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤m≤n≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL来源:力扣(LeetCode)链接:https://leetcode-cn.com/proble...原创 2019-09-01 12:14:07 · 215 阅读 · 0 评论 -
LeetCode 83. 删除排序链表中的重复元素
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入: 1->1->2输出: 1->2示例2:输入: 1->1->2->3->3输出: 1->2->3来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from...原创 2019-09-01 11:48:43 · 205 阅读 · 0 评论 -
LeetCode 86. 分隔链表
给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5来源:力扣(LeetCode)链接:https://leet...原创 2019-09-01 11:52:52 · 240 阅读 · 0 评论 -
LeetCode 82. 删除排序链表中的重复元素 II
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中没有重复出现的数字。示例1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例2:输入: 1->1->1->2->3输出: 2->3来源:力扣(LeetCode)链接:https://leetcode-cn...原创 2019-08-31 21:45:56 · 229 阅读 · 0 评论 -
LeetCode 61. 旋转链表
给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。示例1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->5...原创 2019-08-31 12:21:23 · 180 阅读 · 0 评论 -
LeetCode 24. 两两交换链表中的节点
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs解题思...原创 2019-08-31 12:09:09 · 127 阅读 · 0 评论 -
LeetCode 21. 合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-sorted-lists解题...原创 2019-08-31 11:43:36 · 203 阅读 · 0 评论 -
LeetCode 19. 删除链表的倒数第N个节点(快慢指针)
给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n保证是有效的。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remo...原创 2019-08-31 11:39:34 · 304 阅读 · 0 评论 -
LeetCode 2. 两数相加(链表)
给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&...原创 2019-08-31 11:30:44 · 134 阅读 · 0 评论