
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
目录1、题目2、思路13、c++代码14、java代码15、思路26、c++代码27、java代码21、题目给你二叉树的根节点 root ,返回它节点值的 前序 遍历。示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]示例 4:输入:root = [1,2]输出:[1,2]示例 5:
并查集被很多OIer认为是最简洁而优雅的数据结构之一,主要用于解决一些元素分组的问题。它管理一系列不相交的集合,并支持两种操作:·合并(Union):把两个不相交的集合合并为一个集合。·查询(Find):查询两个元素是否在同一个集合中。假如有编号为1, 2, 3, …, n的n个元素,我们用一个数组fa[]来存储每个元素的父节点(因为每个元素有且只有一个父节点,所以这是可行的)。一开始,我们先将它
目录1、题目2、思路3、代码1、题目题目给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释:1<---/\23<---\\54<---2、思路(bfs)1、按照宽度优先搜索的顺序搜索每一层2、把宽搜的每一层的最后一个数
目录1、题目2、思路3、c++代码4、java代码1、题目给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。示例 :给定二叉树1/ \23/ \45返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。注意: 两结点之间的路径长度是以它们之间边的数目表示。2、思路(递归,树的遍历) O(n)O(n)
目录1、题目2、思路3、c++代码1、题目给定一个单链表LLL:L0→L1→…→Ln-1→Ln,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:给定链表 1->2->3->4, 重新排列为 1->4->2->3.示例 2:给定链表 1->2->3->4-
目录1.题目2.题意3.思路4.代码1.题目动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是"1 X Y",表示X和Y是同类。第二种说法是"2 X Y",表示X吃Y。此人对N个动物,用上述两种说法
目录1.题目2.思路3.代码1.题目北理CS学院2015级的学长学姐们终于搬到村里了,他们住进了新的宿舍,你想知道学校给CS学院一共安排了多少宿舍,但矜持的学长学姐们是不会直接告诉你他们宿舍号的,你唯一机会是当看到两位学姐相伴而行或者两位学长相依为Gay的时候,就可以断定他们住在同一间宿舍。已知CS学院2015级共有n(n <= 50000)名同学,你看到了m(m<=n(n-1)/2)
目录1.题目2.题意3.思路4.代码1.题目Five hundred years later, the number of dragon balls will increase unexpectedly, so it’s too difficult for Monkey King(WuKong) to gather all of the dragon balls together.His coun
目录1、题目2、思路3、c++代码4、java代码1、题目给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释:滑动窗口的位置最大值------------------------------[13-1] -3536731 [3-1-3] 5

目录1、题目2、思路3、c++代码4、java代码1、题目定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <=50002、思路(双指针,迭代) (n)(n)(n)给定一个链表的头节








