刷题系列——在二叉树中查找给出节点,并返回以该节点为根的树

  

很简答的一道题目,就是二叉树遍历找到某个节点的瓦尔是给出值,如果要返回的是以该节点为根节点的树,那么就是按照层级遍历,这里使用递归实现。如果找不到返回为空,如果找到返回该节点即可。

  
 #, Definition  for  a  binary  tree 节点。
  #,class  TreeNode:
  #,,,,,def  __init__(自我,,x):
  #,,,,,,,,,self.val =, x
  #,,,,,,,,,self.left =,没有
  #,,,,,,,,,self.right =,没有
  class 解决方案:
  ,,,def  searchBSTNodeList(自我、rootList val):
  ,,,,,,,if  rootList ==, []:
  ,,,,,,,,,,,return 没有
  ,,,,,,,nextRootList =, []
  ,,,,,,,for  node 拷贝rootList:
  ,,,,,,,,,,,if  node.val ==, val:
  ,,,,,,,,,,,,,,,return 节点
  ,,,,,,,,,,,其他的:
  ,,,,,,,,,,,,,,,if  node.left  !=,没有:
  ,,,,,,,,,,,,,,,,,,,nextRootList.append (node.left)
  ,,,,,,,,,,,,,,,if  node.right  !=,没有:
  ,,,,,,,,,,,,,,,,,,,nextRootList.append (node.right)
  ,,,,,,,return  self.searchBSTNodeList (nextRootList val)
  ,,,,,,,,,,,,,,,,,,,
  ,,,,,,,,,,,
  ,,,def  searchBST(根:自我,还以为,TreeNode, val:, int),→, TreeNode:
  ,,,,,,,,return  self.searchBSTNodeList((根),val) 

刷题系列——在二叉树中查找给出节点,并返回以该节点为根的树