无尽算法之 N叉树的前序遍历

给定一个 N 叉树,返回其节点值的前序遍历。

例如,给定一个 3叉树 :

在这里插入图片描述
返回其前序遍历: [1,3,5,6,2,4]。

思路:

所有和树有关的问题,均可以通过递归来解决

递归4部曲

  1. 递归退出条件
  2. 处理当前层
  3. 处理下一层
  4. 清理当前层

题解:

/*
// 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 {
    ArrayList result=new ArrayList();
    public List<Integer> preorder(Node root) {
        if(root==null){  
            return new ArrayList();
        }
        result.add(root.val);
        for(Node child: root.children){
            preorder(child);
        }
        return result;
    }
}
发布了129 篇原创文章 · 获赞 239 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_33709508/article/details/103942902