博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
863. All Nodes Distance K in Binary Tree
阅读量:5870 次
发布时间:2019-06-19

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

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    vector
distanceK(TreeNode* root, TreeNode* target, int K) { vector
visited(501, false); vector
> g(501); dfs(root, g); vector
res; queue
q; q.push(target->val); visited[target->val] = true; int lv = 0; while (!q.empty()) { int qs = q.size(); if (lv == K) { while(!q.empty()) { res.push_back(q.front()); q.pop(); } break; } while (qs-- > 0) { int p = q.front(); q.pop(); for (auto i : g[p]) { if (!visited[i]) { q.push(i); visited[i] = true; } } } lv++; } return res; } void dfs(TreeNode *root, vector
>& g) { if (root == NULL) return; if (root->left) { g[root->val].insert(root->left->val); g[root->left->val].insert(root->val); } if (root->right) { g[root->val].insert(root->right->val); g[root->right->val].insert(root->val); } dfs(root->left, g); dfs(root->right, g); }};

 

转载于:https://www.cnblogs.com/JTechRoad/p/10064629.html

你可能感兴趣的文章
VNN简介很好的网络软件工具
查看>>
使用 sitemesh/decorator装饰器装饰jsp页面(原理及详细配置)
查看>>
CentOS6.2安装Oracle 11g
查看>>
第五-六单元练习
查看>>
python作业
查看>>
vsftp2
查看>>
FileGee文件同步备份(增量备份)
查看>>
Cacti之交换机端口无法正常显示
查看>>
行为识别研究摘录
查看>>
awk 实例
查看>>
Maclean Liu的脚本工具盒
查看>>
linux命令:while循环
查看>>
MacBook如何用Parallels Desktop安装windows7/8
查看>>
Lesson 8 VMotion
查看>>
PhpStorm Git 配置(解决文件没有变色的问题)
查看>>
xhprof php性能测试
查看>>
来自小姐姐的入门推荐:7个基本机器学习算法Python实现
查看>>
整理Exchange数据库空白空间
查看>>
有关台式机不能被开启的故障诊断步骤
查看>>
生活?
查看>>