解法一

前序遍历。

  1. /*
  2. // Definition for a Node.
  3. class Node {
  4. public int val;
  5. public List<Node> children;
  6. public Node() {}
  7. public Node(int _val) {
  8. val = _val;
  9. }
  10. public Node(int _val, List<Node> _children) {
  11. val = _val;
  12. children = _children;
  13. }
  14. };
  15. */
  16. class Solution {
  17. List<Integer> ans;
  18. public List<Integer> preorder(Node root) {
  19. ans = new LinkedList<>();
  20. preOrder(root);
  21. return ans;
  22. }
  23. private void preOrder(Node root) {
  24. if (root == null) {
  25. return;
  26. }
  27. ans.add(root.val);
  28. for (Node child : root.children){
  29. preOrder(child);
  30. }
  31. }
  32. }