摘要:今天刷后序遍歷非遞歸實現時,因為以前看過借助一個棧和隊列來實現,但始終模糊不清,不知道如何寫,只好自己捋了一遍,然后查了下,發現和很多人寫法有差異,故放出來,歡迎指正,如有知道用棧和隊列方式實現的朋友,也請賜教。
今天刷后序遍歷非遞歸實現時,因為以前看過借助一個棧和隊列來實現,但始終模糊不清,不知道如何寫,只好自己捋了一遍,然后查了下,發現和很多人寫法有差異,故放出來,歡迎指正,如有知道用棧和隊列方式實現的朋友,也請賜教。
public ArrayListpostorderTraversal(TreeNode root) { ArrayList result = new ArrayList<>(); if(root==null){ return result; } TreeNode node = root; Stack stack = new Stack<>(); Stack markStack = new Stack<>(); while(node!=null||!stack.isEmpty()){ while(node!=null){ stack.push(node); node = node.left; } while(!markStack.isEmpty()&&markStack.peek()==stack.peek()){ markStack.pop();; result.add(stack.pop().val); } if(!stack.isEmpty()){ node = stack.peek(); markStack.push(node); node = node.right; } } return result; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/71564.html
摘要:在數據結構領域對應樹結構來說二叉樹是最常用的一種樹結構,二叉樹具有一個唯一的根節點,也就是最上面的節點。二叉樹每個節點最多有兩個孩子,一個孩子都沒有的節點通常稱之為葉子節點,二叉樹每個節點最多有一個父親,根節點是沒有父親節點的。 showImg(https://segmentfault.com/img/remote/1460000018597053?w=1832&h=9943); 前言...
摘要:在數據結構領域對應樹結構來說二叉樹是最常用的一種樹結構,二叉樹具有一個唯一的根節點,也就是最上面的節點。二叉樹每個節點最多有兩個孩子,一個孩子都沒有的節點通常稱之為葉子節點,二叉樹每個節點最多有一個父親,根節點是沒有父親節點的。 showImg(https://segmentfault.com/img/remote/1460000018597053?w=1832&h=9943); 前言...
閱讀 2818·2023-04-25 22:51
閱讀 2059·2021-10-11 10:58
閱讀 3316·2019-08-30 10:49
閱讀 1877·2019-08-29 17:09
閱讀 3141·2019-08-29 10:55
閱讀 847·2019-08-26 10:34
閱讀 3493·2019-08-23 17:54
閱讀 985·2019-08-23 16:06