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

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

原题链接在这里:

题目:

We are given a binary tree (with root node root), a target node, and an integer value K.

Return a list of the values of all nodes that have a distance K from the target node.  The answer can be returned in any order.

 

Example 1:

Input: root = [3,5,1,6,2,0,8,null,null,7,4], target = 5, K = 2Output: [7,4,1]Explanation: The nodes that are a distance 2 from the target node (with value 5)have values 7, 4, and 1.Note that the inputs "root" and "target" are actually TreeNodes.The descriptions of the inputs above are just serializations of these objects.

Note:

  1. The given tree is non-empty.
  2. Each node in the tree has unique values 0 <= node.val <= 500.
  3. The target node is a node in the tree.
  4. 0 <= K <= 1000.

题解:

Clone this tree with new type of Node containing a pointer to parent.

Find the cloned target node and do BFS from it.

Time Complexity: O(n). Deep clone takes O(n). BFS takes O(n).

Time Complexity: O(n). Regardless res.

AC Java:

1 /** 2  * Definition for a binary tree node. 3  * public class TreeNode { 4  *     int val; 5  *     TreeNode left; 6  *     TreeNode right; 7  *     TreeNode(int x) { val = x; } 8  * } 9  */10 class Solution {11     Node clonedTargetNode;12     public List
distanceK(TreeNode root, TreeNode target, int K) {13 List
res = new ArrayList
();14 if(root == null){15 return res;16 }17 18 deepClone(root, null, target);19 LinkedList
que = new LinkedList
();20 que.add(clonedTargetNode);21 22 HashSet
used = new HashSet
();23 used.add(clonedTargetNode);24 while(!que.isEmpty()){25 int size = que.size();26 if(K==0){27 for(int i = 0; i

 

转载于:https://www.cnblogs.com/Dylan-Java-NYC/p/11119888.html

你可能感兴趣的文章
数据库联系 创建表格:重点
查看>>
Regist
查看>>
设置磁盘配额(第二版)
查看>>
C++ 获取字符串中的所有汉字
查看>>
js 滚动到指定位置(带step 速度)
查看>>
项目初尝试——α迭代感想
查看>>
dgraph实现基本操作
查看>>
[Arduino] 基于Xbee Pro和网络技术的智能公交系统设计
查看>>
My97DatePicker日历控件配置
查看>>
HDU 3586-Information Disturbing(树形dp)
查看>>
《超越CSS:web设计精髓》的读后感
查看>>
团队项目第一阶段冲刺站立会议09
查看>>
团队项目第二阶段冲刺站立会议03
查看>>
Python 错误和异常小结
查看>>
sass基础
查看>>
关于Unity中特殊目录
查看>>
360wifi提取版
查看>>
关于Unity遇到的问题
查看>>
jQuery---ajax
查看>>
hdu 1270
查看>>