树
weixin_45663946
这个作者很懒,什么都没留下…
展开
-
层次遍历的代码实现(队列版)实现从上到下打印二叉树
层次遍历:就是先写出根节点(也就是第一行),接着从左到右写出第二行的所有节点,接着第三行…很明显嘛,队列用来存储左右孩子节点,每次去出队一个,接着把它的孩子节点入队。贴代码:class Solution { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> res = new ArrayList<>();原创 2021-01-17 21:28:40 · 120 阅读 · 0 评论 -
前序遍历的代码书写以及javafor循环的另一种方式
递归版class Solution{ List<Integer> res = new ArrayList<Integer>(); public List<Integer> preorder(Node root){ if(root == null) { return res; } res.add(root); //冒号左边是root所有孩子,不断的去遍历 for(Node child:root.children) { preor原创 2021-01-17 20:52:06 · 173 阅读 · 0 评论 -
填充每个节点的下一个右侧节点指针(层次遍历解决)
题目描述:给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。/*// Definition for a Node.class Node原创 2020-10-15 09:06:17 · 54 阅读 · 0 评论 -
二叉搜索树的最小绝对差
给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。思路: 首先这是一个二叉搜索树,满足左<根<右,中序遍历得到一个递增的数组。 相邻两数的差值的最小值就是答案。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(i原创 2020-10-12 08:51:31 · 80 阅读 · 0 评论