N叉树的前序遍历
此博客链接:https://www.cnblogs.com/ping2yingshi/p/12961642.html
N叉树的前序遍历(49min)
题目链接:https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal/
给定一个 N 叉树,返回其节点值的前序遍历。
例如,给定一个 3叉树
:
返回其前序遍历: [1,3,5,6,2,4]
。
题解:
思路:
1.使用递归。
2.把根节点入栈,取出栈顶元素,把栈顶元素的孩子节点逆序存入到栈中。
class Solution { public List<Integer> preorder(Node root) { LinkedList<Node> stack = new LinkedList<>(); LinkedList<Integer> result = new LinkedList<>(); if (root == null) { return result; } stack.add(root); while (!stack.isEmpty()) { Node node = stack.pollLast(); result.add(node.val); Collections.reverse(node.children); for (Node item : node.children) { stack.add(item); } } return result; } }
出来混总是要还的