程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> Binary Tree Postorder Traversal

Binary Tree Postorder Traversal

編輯:關於C++

 

 

 

Given a binary tree, return the postorder traversal of its nodes' values.

For example:
Given binary tree {1,#,2,3},

   1
    
     2
    /
   3

 

return [3,2,1].

Note: Recursive solution is trivial, could you do it iteratively?

 

 

思路:

 

(1)題意為後序遍歷二叉樹。遍歷順序為左—>右—>根。

(2)考慮到用遞歸比較簡單,本文使用遞歸的思想進行解決,由於比較簡單這裡不累贅,詳見下方代碼。

(3)希望本文對你有所幫助。


 

 

 

算法代碼實現如下:

/**
 * @author liqq
 */
public List PostorderTraversal(TreeNode root) {
	List result = new LinkedList();
	if (root != null) {
		Post_order(result, root.left);
		Post_order(result, root.right);
		result.add(root.val);
	}
	return result;
}

private void Post_order(List result, TreeNode curr) {
	if (curr != null) {
		Post_order(result, curr.left);
		Post_order(result, curr.right);
		result.add(curr.val);
	}
}


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved