后序:

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

例如,给定一个 3叉树 :

 

LeetCode___590. N叉树的后序遍历&&589. N叉树的前序遍历

 

返回其后序遍历: [5,6,3,2,4,1].

==================================================================

思路:递归,传入一个List和Node类型,进行递归,将递归的值装入List中。

代码:

public static List<Integer> postorder(Node root) {
		List<Integer> list = new ArrayList<Integer>();
		postOrderTraverse(list,root);
		return list;
        
    }
	
	//后序遍历
		public static void postOrderTraverse(List<Integer> list,Node root){
			if(root == null)
				return ;
			for(Node child : root.children){
				postOrderTraverse(list,child);
			}
			list.add(root.val);
			
		}
	

前序:

后序是先递归,在list.add。前序就是先list.add然后再递归。

代码:

public List<Integer> preorder(Node root) {
        List<Integer> list = new ArrayList<Integer>();
		postOrderTraverse(list,root);
		return list;
    }
    
    
    //前序遍历
		public static void postOrderTraverse(List<Integer> list,Node root){
			if(root == null)
				return ;
            list.add(root.val);
			for(Node child : root.children){
				postOrderTraverse(list,child);
			}
			
			
		}

 

相关文章:

  • 2022-02-03
  • 2022-12-23
  • 2021-10-15
  • 2022-02-10
  • 2021-06-09
  • 2021-09-09
  • 2022-12-23
  • 2021-07-14
猜你喜欢
  • 2021-05-06
  • 2021-07-30
  • 2022-01-11
  • 2021-11-24
  • 2021-04-24
  • 2021-12-23
相关资源
相似解决方案