N叉树的前序遍历

weblog 858 0 0

leetcode589

题目描述

给定一个 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));
            }
        }
    }
}

猜你喜欢
数据结构与算法 5068 整理二-(递归法)和(非递归法)-笔记先、中、后续、层级。1.节点信息:packagetree;publicclassNodeE{ privateEe;//数据域
数据结构与算法 5677 试题描述:思路:用数组表示完全二,用先方式每一层节点,用一个数组储存每一层和,因为数据规模小于100000所以用一个容量为17数组即可。计算完每一层和,再比较层数最小之和最大
数据结构与算法 8172 )java代码实现importjava.util.LinkedList;/***二结点类*@author硅谷探秘者(jia)*/classNode{ publicintdata; publicNodele
official 1030 径。说明:叶子节点是指没有子节点节点。示例:输入:1/\23\5输出:["1-2-5","1-3"]解释:所有根节点到叶子节点路径为:1-2-5,1-3解题思路递归得方式(深度优先搜索),
weblog 5421 什么是二驱节点和后继节点?某节点驱节点val值小于该节点val值并且值是最大那个节点。某节点后继节点val值大于该节点val值并且值是最小那个节点。下面给出一个二节点类
official 1128 和一个head为第一个节点链表。如果在二中,存在一条一直向下路径,且每个点数值恰好一一对应以head为首链表中每个节点值,那么请你返回True,否则返回False。一直向下路径意思
数据结构与算法 7325 题目:判断下方两棵二右方是否为左方二例1:||/-----------10(10)------\/-------10(10)------\||||/-------5(5
official 952 leetcode第110题(简单)原链接https://leetcode-cn.com/problems/balanced-binary-tree/题目描述给定一个二,判断它是否是高度平衡
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。