日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

863. 二叉树中所有距离为 K 的结点

發(fā)布時間:2023/11/30 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 863. 二叉树中所有距离为 K 的结点 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

給定一個二叉樹(具有根結(jié)點?root),?一個目標(biāo)結(jié)點?target?,和一個整數(shù)值 K 。

返回到目標(biāo)結(jié)點 target 距離為 K 的所有結(jié)點的值的列表。 答案可以以任何順序返回。

?

示例 1:

輸入:root = [3,5,1,6,2,0,8,null,null,7,4], target = 5, K = 2

輸出:[7,4,1]

解釋:
所求結(jié)點為與目標(biāo)結(jié)點(值為 5)距離為 2 的結(jié)點,
值分別為 7,4,以及 1

注意,輸入的 "root" 和 "target" 實際上是樹上的結(jié)點。
上面的輸入僅僅是對這些對象進(jìn)行了序列化描述。

提示:

給定的樹是非空的,且最多有?K?個結(jié)點。
樹上的每個結(jié)點都具有唯一的值?0 <= node.val <= 500?。
目標(biāo)結(jié)點?target?是樹上的結(jié)點。
0 <= K <= 1000.

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/all-nodes-distance-k-in-binary-tree
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

解法:

/*** 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<int> distanceK(TreeNode* root, TreeNode* target, int K) {if(!root) return {};unordered_map<TreeNode*, vector<TreeNode *>> mp;queue<TreeNode *> qu;solution(root, nullptr, mp);qu.push(target);set<TreeNode *> s;s.insert(target);vector<int> res;while(!qu.empty()){if(K == 0){while(!qu.empty()){res.push_back(qu.front()->val);qu.pop();}return res;}int n = qu.size();while(n--){auto it = qu.front();qu.pop();for(auto c : mp[it]){if(s.find(c) != s.end()) continue;qu.push(c);s.insert(c);}}K--;}return {}; }void solution(TreeNode *root, TreeNode *pre, unordered_map<TreeNode*, vector<TreeNode *>> &mp){if(root == nullptr) return;if(pre && root){mp[pre].push_back(root);mp[root].push_back(pre);}solution(root->left, root, mp);solution(root->right, root, mp);} };

?

總結(jié)

以上是生活随笔為你收集整理的863. 二叉树中所有距离为 K 的结点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。