
数据结构
biubiuan
这个作者很懒,什么都没留下…
展开
-
JZ25-复杂链表的复制
JZ25-复杂链表的复制题目:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)。示例:输入:{1,2,3,4,5,3,5,#,2,#}输出:{1,2,3,4,5,3,5,#,2,#}/*public class RandomListNode { int label; RandomListNode原创 2021-07-31 10:52:16 · 140 阅读 · 0 评论 -
2021-07-28 JZ3 从头到尾打印单链表
JZ3 从头到尾打印单链表题目描述:输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }**/import java.util.ArrayList;publi原创 2021-07-28 21:21:24 · 129 阅读 · 0 评论 -
2021-07-20 LeetCode:反转链表
LeetCode:反转链表反转链表。递归反转整个链表。可以使用迭代或递归来实现。迭代或者递归的代码如下class Solution { public ListNode reverseList(ListNode head) { //迭代 // ListNode cur = null; // ListNode pre = head; // while(pre!=null){ // ListNode temp原创 2021-07-20 15:07:28 · 270 阅读 · 0 评论 -
LeetCode:二叉搜索树的第k大节点
LeetCode:二叉搜索树的第k大节点给定一颗二叉树,返回其第K大节点。首先的思路就是中序遍历一颗二叉树,得到的结果是有序的,然后从得到的队列中找出第K大的数/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } *原创 2020-11-18 09:54:27 · 263 阅读 · 0 评论 -
LeetCode:根据身高重建队列
LeetCode:根据身高重建队列假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对 (h, k) 表示,其中 h 是这个人的身高,k 是应该排在这个人前面且身高大于或等于 h 的人数。 例如:[5,2] 表示前面应该有 2 个身高大于等于 5 的人,而 [5,0] 表示前面不应该存在身高大于等于 5 的人。编写一个算法,根据每个人的身高 h 重建这个队列,使之满足每个整数对 (h, k) 中对人数 k 的要求。来源:力扣(LeetCode)链接:https://leetcode-cn.com原创 2020-11-17 21:40:48 · 367 阅读 · 0 评论 -
LeetCode:寻找二叉树的最近公共祖先
LeetCode:寻找二叉树的最近公共祖先给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/er-cha-s原创 2020-11-16 19:35:04 · 234 阅读 · 0 评论 -
算法:LeetCode 从上到下打印二叉树
算法:LeetCode 从上到下打印二叉树从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。容易想到的是层序遍历,利用队列来实现,若要每一层打印到一行,每次需要读取队列中元素的个数来判断当前行有多少个元素/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * T原创 2020-11-15 19:34:16 · 230 阅读 · 0 评论 -
算法:LeetCode328.奇偶链表
LeetCode328.奇偶链表给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/odd-even-linked-list著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。代码原创 2020-11-13 19:23:29 · 128 阅读 · 0 评论