博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode: Construct Binary Tree from Inorder and Postorder Traversal
阅读量:6700 次
发布时间:2019-06-25

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

Given inorder and postorder traversal of a tree, construct the binary tree.

与问题非常类似,唯一区别在于这一次确定root的位置由post traversal来确定,为最后一个元素。

1 /** 2  * Definition for binary tree 3  * public class TreeNode { 4  *     int val; 5  *     TreeNode left; 6  *     TreeNode right; 7  *     TreeNode(int x) { val = x; } 8  * } 9  */10 public class Solution {11     public TreeNode buildTree(int[] inorder, int[] postorder) {12         if (inorder.length==0 || postorder.length==0 || inorder.length!=postorder.length) {13             return null;14         }15         int len = inorder.length;16         HashMap
map = new HashMap
();17 for (int i=0; i
map) {24 if (posL>posR || inL>inR) {25 return null;26 }27 TreeNode root = new TreeNode(postorder[posR]);28 int index = map.get(postorder[posR]);29 root.left = helper(postorder, posL, posL+index-1-inL, inorder, inL, index-1, map);30 root.right = helper(postorder, posL+index-inL, posR-1, inorder, index+1, inR, map);31 return root;32 }33 }

 

转载地址:http://hywlo.baihongyu.com/

你可能感兴趣的文章
Spray.io搭建Rest服务
查看>>
探索C++对象模型(二)
查看>>
内核模式和用户模式
查看>>
SSH 整合框架(自整理)
查看>>
学习ARM嵌入式linux的一些建议
查看>>
java.lang.NoClassDefFoundError解决方案
查看>>
textView限制字数(超简单,不走弯路)(解决联想输入及iOS7崩溃等问题)
查看>>
shell实例
查看>>
我的友情链接
查看>>
java中四种进制的转换
查看>>
git多个远程仓库
查看>>
Linux之命令
查看>>
Android 6.0 特性
查看>>
shell 脚本作业
查看>>
程序员老司机都要错的 Python 陷阱与缺陷列表
查看>>
《netty入门与实战》笔记-06:心跳与空闲检测
查看>>
使用javascript开发的视差滚动效果的云彩 极客标签 - 做最棒的极客知识分享平台...
查看>>
SSM整合框架
查看>>
【安全牛学习笔记】CONTROL FRAME
查看>>
信号量 互斥锁 条件变量的区别(讲的很好,值得收藏)
查看>>