Leetcode No.145 **
生活随笔
收集整理的這篇文章主要介紹了
Leetcode No.145 **
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個二叉樹,返回它的?后序?遍歷。
示例:
輸入: [1,null,2,3] 1\2/3 輸出: [3,2,1]如圖,輸出結果為:DEBFCA
? ? ? ? ? ? ? ? ? ? ? ? ? ??
解答:參考博客http://www.cnblogs.com/grandyang/p/4251757.html
前序遍歷與后序遍歷之所以放在一塊,說明兩者具有很大的相似性,實際情況也確實如此。如果我們將前序遍歷輸出值顛倒順序,那么就可以很相近于后序遍歷。唯一的差別在于相同一層的節點
也倒轉了順序,變成了從右到左而不是從左到右。所以需要將壓棧的順序略微調整一下:先壓棧左側,再壓棧右側,再通過顛倒結果順序,最后得到反反得正,即正確的順序。
//145 vector<int> postorderTraversal(TreeNode* root) {vector<int> res;if(root==NULL) return res;stack<TreeNode*> st;st.push(root);TreeNode* p;while(!st.empty()){p = st.top();st.pop();res.insert(res.begin(),p->val);if(p->left!=NULL) st.push(p->left);if(p->right!=NULL) st.push(p->right);}return res; }//145?
轉載于:https://www.cnblogs.com/2Bthebest1/p/10851841.html
總結
以上是生活随笔為你收集整理的Leetcode No.145 **的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue数组改变检测
- 下一篇: ActiveMQ学习笔记(21)----