N叉树的前序遍历
leetcode第589题
题目描述
给定一个 N 叉树,返回其节点值的前序遍历。
例如,给定一个 3叉树
:
返回其前序遍历: [1,3,5,6,2,4]
。
解题思路
递归遍历,深度优先搜索
代码(java)
/*
// Definition for a Node.
class Node {
public int val;
public List<Node> children;
public Node() {}
public Node(int _val) {
val = _val;
}
public Node(int _val, List<Node> _children) {
val = _val;
children = _children;
}
};
*/
class Solution {
public List<Integer> preorder(Node root) {
dfs(root);
return list;
}
List<Integer> list=new LinkedList<Integer>();
public void dfs(Node root){
if(root==null){
return ;
}
list.add(root.val);
if(root.children!=null){
int size=root.children.size();
for(int i=0;i<size;i++){
dfs(root.children.get(i));
}
}
}
}
猜你喜欢
blog
二叉树的遍历-(递归法)和(非递归法)
数据结构与算法
5309
整理二叉树的遍历-(递归法)和(非递归法)-笔记先序遍历、中序遍历、后续遍历、层级遍历。1.节点信息:packagetree;publicclassNodeE{ privateEe;//数据域
blog
数据结构-算法-完全二叉树的权值
数据结构与算法
5926
试题描述:思路:用数组表示完全二叉树,用先序遍历的方式遍历每一层的节点,用一个数组储存每一层的和,因为数据规模小于100000所以用一个容量为17的数组即可。计算完每一层的和,再比较层数最小之和最大
数据结构与算法
8385
)java代码实现importjava.util.LinkedList;/***二叉树结点类*@author硅谷探秘者(jia)*/classNode{ publicintdata; publicNodele
ofc
二叉树的所有路径
official
1227
径。说明:叶子节点是指没有子节点的节点。示例:输入:1/\23\5输出:["1-2-5","1-3"]解释:所有根节点到叶子节点的路径为:1-2-5,1-3解题思路递归得方式遍历二叉树(深度优先搜索),
weblog
6156
什么是二叉树的前驱节点和后继节点?某节点的前驱节点的val值小于该节点的val值并且值是最大的那个节点。某节点的后继节点的val值大于该节点的val值并且值是最小的那个节点。下面给出一个二叉树节点类
ofc
二叉树中的列表
official
1364
叉树和一个head为第一个节点的链表。如果在二叉树中,存在一条一直向下的路径,且每个点的数值恰好一一对应以head为首的链表中每个节点的值,那么请你返回True,否则返回False。一直向下的路径的意思
数据结构与算法
7666
题目:判断下方两棵二叉树右方的二叉树是否为左方二叉树的子树例1:||/-----------10(10)------\/-------10(10)------\||||/-------5(5
ofc
平衡二叉树
official
1161
leetcode第110题(简单)原链接https://leetcode-cn.com/problems/balanced-binary-tree/题目描述给定一个二叉树,判断它是否是高度平衡的二叉
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。