博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leet 145: Binary Tree Postorder Traversal
阅读量:5308 次
发布时间:2019-06-14

本文共 2211 字,大约阅读时间需要 7 分钟。

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].

 

1 /** 2  * Definition for a binary tree node. 3  * public class TreeNode { 4  *     public int val; 5  *     public TreeNode left; 6  *     public TreeNode right; 7  *     public TreeNode(int x) { val = x; } 8  * } 9  */10 public class Solution {11     public IList
PostorderTraversal(TreeNode root) {12 var result = new List
();13 if (root == null) return result;14 15 var stack = new Stack
();16 stack.Push(root);17 18 while (stack.Count > 0)19 {20 var p = stack.Pop();21 result.Insert(0, p.val);22 23 if (p.left != null)24 {25 stack.Push(p.left);26 }27 28 if (p.right != null)29 {30 stack.Push(p.right);31 }32 }33 34 35 return result;36 }37 38 }39 40 public class Solution2 {41 public IList
PostorderTraversal(TreeNode root) {42 var result = new List
();43 if (root == null) return result;44 45 var stack = new Stack
();46 stack.Push(root);47 48 while (stack.Count > 0)49 {50 var p = stack.Peek();51 52 if (p.left != null)53 {54 stack.Push(p.left);55 p.left = null;56 }57 else if (p.right != null)58 {59 stack.Push(p.right);60 p.right = null;61 }62 else63 {64 stack.Pop();65 result.Add(p.val);66 }67 }68 69 70 return result;71 }72 73 }74 75 public class Solution1 {76 public IList
PostorderTraversal(TreeNode root) {77 var result = new List
();78 DFS(root, result);79 return result;80 }81 82 private void DFS(TreeNode node, IList
result)83 {84 if (node == null) return;85 DFS(node.left, result);86 DFS(node.right, result);87 result.Add(node.val);88 }89 }

 

转载于:https://www.cnblogs.com/liangmou/p/7864769.html

你可能感兴趣的文章
多米诺骨牌
查看>>
Linq 学习(1) Group & Join--网摘
查看>>
asp.net 调用前台JS调用后台,后台掉前台JS
查看>>
Attribute(特性)与AOP
查看>>
苹果手表:大方向和谷歌一样,硬件分道扬镳
查看>>
Competing Consumers Pattern (竞争消费者模式)
查看>>
Android面试收集录15 Android Bitmap压缩策略
查看>>
PHP魔术方法之__call与__callStatic方法
查看>>
ubuntu 安装后的配置
查看>>
web前端之路,js的一些好书(摘自聂微东 )
查看>>
【模板】对拍程序
查看>>
【转】redo与undo
查看>>
解决升级系统导致的 curl: (48) An unknown option was passed in to libcurl
查看>>
Java Session 介绍;
查看>>
spoj TBATTLE 质因数分解+二分
查看>>
Django 模型层
查看>>
dedecms讲解-arc.listview.class.php分析,列表页展示
查看>>
Extjs6 经典版 combo下拉框数据的使用及动态传参
查看>>
【NodeJS】http-server.cmd
查看>>
研磨JavaScript系列(五):奇妙的对象
查看>>