【力扣】116. 填充每个节点的下一个右侧节点指针
给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针...
给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针...
给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。 示例1: 示例2: 提示: 题解: 递归法(深度优先):
给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。 树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。 示例 1: 示例 2: 提示: 题解: 递归法:
给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1: 示例 2: 提示: 题解: 递归法:
给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 示例 2: 示例 3: 提示: 题解: 使用队列解决:
给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 示例 1: 示例 2: 示例 3: 提示: 题解: 递归+双指针法:
给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 示例 2: 示例 3: 提示: 题解: 递归法: 使用队列解决:
给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 示例 2: 示例 3: 提示: 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 题解: 递归法: 迭代法: ...
给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 示例 2: 示例 3: 提示: 进阶:递归算法很简单,你可以通过迭代算法完成吗? 题解: 递归法: 迭代法+双指针法: 第...
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 示例 2: 示例 3: 示例 4: 示例 5: 提示: 进阶:递归算法很简单,你可以通过迭代算法完成吗? 题解: 递归法: 迭代法...
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 示例 2: 提示: 进阶:你所设计算法的时间复杂度&nb...
给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最...
给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 示例 1: 示例 2: 示例 3: 提示: ...
给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一...
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 示例 1: 示例 2: 示例 3: 提示: 题解: 使用栈解决:
请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: 注意: 示例: 提示: 进阶:你能否仅用一个队列来实现栈。...
请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: 说明: 示例 1: 提示: 进阶: 题解:
给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true 。# 代表退格字符。 注意:如果对空文本输入退格字符,文本继续为空。 示例 1: ...
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 示例 2: 提示: 进阶:你能尽量...
给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输...