博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Convert Sorted Array to Binary Search Tree
阅读量:6269 次
发布时间:2019-06-22

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

使用分治的方法,递归地将数组转成二叉树。这道题提交的时候出现了很多错误,主要问题出在vector、iterator的使用,以及结构体指针的初始化上。代码如下:

TreeNode *sortedArrayToBST(vector
&num) { // Start typing your C/C++ solution below // DO NOT write int main() function int len = num.size(); if(len == 0) return NULL; TreeNode *result = new TreeNode(0); vector
::iterator mid = num.begin()+num.size()/2; result->val = *mid; vector
tmp; tmp.assign(num.begin(), mid); num.erase(num.begin(), mid+1); result->left = sortedArrayToBST(tmp); result->right = sortedArrayToBST(num); return result; }

最开始第7行出现很多问题,因为起初没有new TreeNode,所以最后函数总是返回NULL。

但是如果在第9行的时候赋给val固定值,而不是某个函数的结果,那么返回的就不是NULL,具体原因是什么,等再看看c++的函数返回机制以后再总结一下。

转载于:https://www.cnblogs.com/waruzhi/p/3344379.html

你可能感兴趣的文章
asp.net core 2.0 web api基于JWT自定义策略授权
查看>>
Skype for Business Server 2015-04-前端服务器-3-安装-管理工具
查看>>
第12章代码《跟老男孩学习Linux运维:Shell编程实战》
查看>>
我们为什么从Python转到go?
查看>>
5.Azure负载均衡(上)
查看>>
轻松精通awk数组企业问题案例
查看>>
26.Azure备份服务器(下)
查看>>
从“网上说的能信么”说开去---学习的思考
查看>>
DHCP 日志分析
查看>>
.NET Micro Framework动态调用C/C++底层代码(原理篇)
查看>>
Windows Server 2012正式版RDS系列⒃
查看>>
Shell脚本之awk篇
查看>>
微软发布Azure Stack硬件需求
查看>>
python socket编程详细介绍
查看>>
Windows Server 2016第三个技术预览版新技术
查看>>
Everything 本地磁盘文件搜索工具下载!
查看>>
Python dict(字典) 详细总结
查看>>
RPF(Reverse Path Forwarding 反向路径转发)技术
查看>>
2016年收到的第一件礼物,被评上微软全球最有价值专家MVP(一)
查看>>
2016中国VR开发者论坛第一期
查看>>