博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
783. Minimum Distance Between BST Node
阅读量:5248 次
发布时间:2019-06-14

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

方法一,非递归方法,中序遍历

1 /** 2  * Definition for a binary tree node. 3  * struct TreeNode { 4  *     int val; 5  *     TreeNode *left; 6  *     TreeNode *right; 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8  * }; 9  */10 11 static int wing=[]()12 {13     std::ios::sync_with_stdio(false);14     cin.tie(NULL);15     return 0;16 }();17 18 class Solution 19 {20 public:21     22     int minDiffInBST(TreeNode* root) 23     {24         stack
s;25 int mindiff=INT_MAX;26 TreeNode *p=root;27 int pre=-(root->val),cur=0;28 while(p||!s.empty())29 {30 if(p)31 {32 s.push(p);33 p=p->left;34 }35 else36 {37 p=s.top();38 s.pop();39 cur=p->val;40 mindiff=min(mindiff,cur-pre);41 pre=cur;42 p=p->right;43 }44 }45 return mindiff;46 }47 };

方法二,递归方法,中序遍历

1 /** 2  * Definition for a binary tree node. 3  * struct TreeNode { 4  *     int val; 5  *     TreeNode *left; 6  *     TreeNode *right; 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8  * }; 9  */10 11 static int wing=[]()12 {13     std::ios::sync_with_stdio(false);14     cin.tie(NULL);15     return 0;16 }();17 18 class Solution {19     int dif=INT_MAX, val=-1;20 public:21     int minDiffInBST(TreeNode* root)    22  {23         if(root->left!=nullptr) 24             minDiffInBST(root->left);25         if(val>=0) dif=min(dif,root->val-val);26             val=root->val;27         if(root->right!=nullptr)28             minDiffInBST(root->right);29         return dif;30     }31     32 };

简单,问题不大

转载于:https://www.cnblogs.com/zhuangbijingdeboke/p/9176915.html

你可能感兴趣的文章
Springboot使用步骤
查看>>
Spring属性注入
查看>>
Springboot-配置文件
查看>>
Springboot-日志框架
查看>>
P1192-台阶问题
查看>>
一、使用pip安装Python包
查看>>
spring与quartz整合
查看>>
Kattis之旅——Eight Queens
查看>>
3.PHP 教程_PHP 语法
查看>>
Duilib扩展《01》— 双击、右键消息扩展
查看>>
利用Fiddler拦截接口请求并篡改数据
查看>>
python习题:unittest参数化-数据从文件或excel中读取
查看>>
在工程中要加入新的错误弹出方法
查看>>
PS 滤镜— — sparkle 效果
查看>>
网站产品设计
查看>>
代理ARP
查看>>
go 学习笔记(4) ---项目结构
查看>>
java中静态代码块的用法 static用法详解
查看>>
Java线程面试题
查看>>
Paper Reading: Relation Networks for Object Detection
查看>>