博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode题库-深度优先搜索部分
阅读量:7246 次
发布时间:2019-06-29

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

二叉搜索树的递归运用

将一个有序排序链表转化为二叉平衡搜索树 思路来源于有序数组转换为此树很简单,就是数组的中点就是根节点,由此数组被分割为两部分,左边为左子树,右边为右子树,再在左边找中点就是左子树的根节点,由此形成递归。代码如下:

class Solution {
public: TreeNode* sortedListToBST(ListNode* head) { vector
nums;//将链表中的值放进向量对象中 ListNode *p=head; while(p) { nums.push_back(p->val); p=p->next; } return sortL(nums,0,nums.size()-1); } TreeNode *sortL(vector
&nums,int L,int R) { if(L>R) return NULL;//递归出口 int mid=(L+R)/2; TreeNode *root=new TreeNode(nums[mid]); root->left=sortL(nums,L,mid-1); root->right=sortL(nums,mid+1,R); return root; }};复制代码

转载于:https://juejin.im/post/5c0a399d6fb9a049fe34f578

你可能感兴趣的文章
Windows Phone实用开发技巧(41):解决WebBrowser中显示黑色背景网页闪屏
查看>>
我的友情链接
查看>>
eclipse中配置Struts
查看>>
EXTJS
查看>>
CentOS7安装配置Apache HTTP Server
查看>>
No repository found at http://m2eclipse.sonatype.org/sites/m2e
查看>>
如何提高网速20%!
查看>>
我的友情链接
查看>>
apache mod_expires缓存静态文件
查看>>
加密、解密的原理及Openssl创建CA和ssh的基础应用
查看>>
我的友情链接
查看>>
O2O的另类演绎
查看>>
cool1 dual生态手机的产品经:基于体验基础的商业模式变革
查看>>
安卓滑动隐藏显示菜单功能实现(还有蒙板校果),只显示一半view
查看>>
使用URL在本地显示网络上的图片
查看>>
免费公测:RDS只读实例
查看>>
阿里云 Aliplayer高级功能介绍(二):缩略图
查看>>
设计原则解读——单一职责原则、里氏替换原则
查看>>
IE10的补丁标题显示9.0!
查看>>
每天一个linux命令(15):tail 命令
查看>>