
LeetCode
爱吃花生米的枫叶
这个作者很懒,什么都没留下…
展开
-
[LeetCode] 876. 链表的中间结点
给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next.next.next原创 2022-03-11 19:55:35 · 103 阅读 · 0 评论 -
[LeetCode] 328. 奇偶链表
给定单链表的头节点head,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。第一个节点的索引被认为是奇数,第二个节点的索引为偶数,以此类推。请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致。你必须在O(1)的额外空间复杂度和O(n)的时间复杂度下解决这个问题。示例 1:输入: head = [1,2,3,4,5]输出:[1,3,5,2,4]/** * Definition for singly-l...原创 2022-03-11 19:51:11 · 152 阅读 · 0 评论 -
[LeetCode] 203. 移除链表元素
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-linked-list-elements/** * Definition for singly-linked lis.原创 2022-03-11 19:38:08 · 87 阅读 · 0 评论 -
[LeetCode] 143. 重排链表
给定一个单链表 L 的头节点 head ,单链表 L 表示为:L0 → L1 → … → Ln - 1 → Ln请将其重新排列后变为:L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → …不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入:head = [1,2,3,4]输出:[1,4,2,3]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reorder-list.原创 2022-03-11 19:49:18 · 81 阅读 · 0 评论 -
LeetCode 199. 二叉树的右视图
给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例 1:输入:[1,2,3,null,5,null,4]输出:[1,3,4]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-right-side-view/** * Definition for a binary tree node. * struct TreeNode {...原创 2022-03-04 15:48:22 · 70 阅读 · 0 评论 -
LeetCode 144. 二叉树的前序遍历
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/** * Definition for a binary tree n..原创 2022-03-03 16:28:54 · 67 阅读 · 0 评论 -
LeetCode 129. 求根节点到叶节点数字之和
给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。每条从根节点到叶节点的路径都代表一个数字:例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。计算从根节点到叶节点生成的 所有数字之和 。叶节点 是指没有子节点的节点。示例 1:输入:root = [1,2,3]输出:25解释:从根到叶子节点路径 1->2 代表数字 12从根到叶子节点路径 1->3 代表数字 13因此,数字总和 = 1原创 2022-03-03 16:22:18 · 77 阅读 · 0 评论 -
LeetCode 107. 二叉树的层序遍历 II
给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)示例 1:输入:root = [3,9,20,null,null,15,7]输出:[[15,7],[9,20],[3]]示例 2:输入:root = [1]输出:[[1]]示例 3:输入:root = []输出:[]/** * Definition for a binary tree node. * struct TreeNode { .原创 2022-03-03 19:03:32 · 71 阅读 · 0 评论 -
LeetCode 剑指 Offer 25. 合并两个排序的链表
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->42022年3月1日/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(原创 2022-03-01 19:27:28 · 499 阅读 · 0 评论 -
LeetCode 剑指 Offer 24. 反转链表
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(原创 2022-03-01 19:16:06 · 107 阅读 · 0 评论 -
LeetCode 剑指 Offer 22. 链表中倒数第k个节点
输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5./** * Definition for singly-linked list. * struct ListNode原创 2022-03-01 18:55:09 · 200 阅读 · 0 评论 -
LeetCode 24. 两两交换链表中的节点
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *nex原创 2022-02-28 19:12:10 · 60 阅读 · 0 评论