logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

精选力扣500题 第55题 LeetCode 144. 二叉树的前序遍历【c++/java详细题解】

目录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:

#leetcode#数据结构与算法
并查集模板超详细整理

并查集被很多OIer认为是最简洁而优雅的数据结构之一,主要用于解决一些元素分组的问题。它管理一系列不相交的集合,并支持两种操作:·合并(Union):把两个不相交的集合合并为一个集合。·查询(Find):查询两个元素是否在同一个集合中。假如有编号为1, 2, 3, …, n的n个元素,我们用一个数组fa[]来存储每个元素的父节点(因为每个元素有且只有一个父节点,所以这是可行的)。一开始,我们先将它

#数据结构#算法
精选力扣500题 第19题 LeetCode 199. 二叉树的右视图【c++详细题解】

目录1、题目2、思路3、代码1、题目题目给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释:1<---/\23<---\\54<---2、思路(bfs)1、按照宽度优先搜索的顺序搜索每一层2、把宽搜的每一层的最后一个数

#leetcode#算法
精选力扣500题 第50题 LeetCode 543. 二叉树的直径【c++详细题解】

目录1、题目2、思路3、c++代码4、java代码1、题目给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。示例 :给定二叉树1/ \23/ \45返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。注意: 两结点之间的路径长度是以它们之间边的数目表示。2、思路(递归,树的遍历) O(n)O(n)

#数据结构与算法
LeetCode 143. 重排链表【c++ 详细题解】

目录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-

#链表#leetcode#算法
poj-1182-食物链 【 带权并查集 】 题解

目录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个动物,用上述两种说法

#算法
POJ - 2524 Ubiquitous Religions 【并查集】 题解

目录1.题目2.思路3.代码1.题目北理CS学院2015级的学长学姐们终于搬到村里了,他们住进了新的宿舍,你想知道学校给CS学院一共安排了多少宿舍,但矜持的学长学姐们是不会直接告诉你他们宿舍号的,你唯一机会是当看到两位学姐相伴而行或者两位学长相依为Gay的时候,就可以断定他们住在同一间宿舍。已知CS学院2015级共有n(n <= 50000)名同学,你看到了m(m<=n(n-1)/2)

#算法
HDU-3635 -Dragon Balls【 带权并查集 】题解

目录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

#算法
剑指 Offer 59 - I. 滑动窗口的最大值 【c++/java详细题解】

目录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

文章图片
#java#c++#数据结构
剑指 Offer 24. 反转链表 【c++/java详细题解】

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

文章图片
#链表#c++#java
    共 42 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择