博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
牛客OJ:二叉树和为某值的路径
阅读量:4059 次
发布时间:2019-05-25

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

BFS:

struct Node{    TreeNode* p;    int sum;    vector
v;};class Solution {public: vector
> FindPath(TreeNode* root,int expectNumber) { if(root == NULL) return *(new vector
>); vector
> res; queue
q; Node t; t.p = root; t.sum = root->val; t.v.push_back(root->val); q.push(t); while(!q.empty()){ t = q.front(); q.pop(); if( t.p->left == NULL && t.p->right == NULL){ if(t.sum == expectNumber){ res.push_back(t.v); } continue; } if(t.p->left != NULL){ Node t1; t1.p = t.p->left; t1.sum = t.sum + t1.p->val; t1.v = t.v; t1.v.push_back(t1.p->val); q.push(t1); } if(t.p->right != NULL){ Node t2; t2.p = t.p->right; t2.sum = t.sum + t2.p->val; t2.v = t.v; t2.v.push_back(t2.p->val); q.push(t2); } } vector
> ans; int l = res.size()-1; for(int i=l;i>=0;i--){ ans.push_back(res[i]); } return ans; }};

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

你可能感兴趣的文章
分治法 动态规划法 贪心法 回溯法 小结
查看>>
《软件体系结构》 练习题
查看>>
SQL语句(一)基本表的定义
查看>>
《数据库系统概论》 第一章 绪论
查看>>
《数据库系统概论》 第二章 关系数据库
查看>>
《数据库系统概论》 第三章 关系数据库标准语言SQL
查看>>
SQL语句(二)查询语句
查看>>
SQL语句(三) 更新语句(增 删 改)
查看>>
SQL语句(四)视图定义、查询、更新和删除
查看>>
SQL语句(五) 索引建立
查看>>
SQL语句(六) 自主存取控制
查看>>
《数据库系统概论》 第六章 关系数据理论
查看>>
《数据库系统概论》 第七章 数据库设计
查看>>
SQL语句(七)实体完整性
查看>>
SQL语句(八)参照完整性
查看>>
SQL语句(九)用户自定义完整性
查看>>
数据库复习(八)——Transact-SQL程序设计
查看>>
数据库复习(九)——存储过程
查看>>
数据库复习(十)——触发器
查看>>
Python入门(二)开发环境的搭建以及集成开发环境pycharm的安装
查看>>