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

发布时间:2020-08-07 14:18:22 作者:张国平
来源:ITPUB博客 阅读:176

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

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
    def searchBSTNodeList(self,rootList,val):
        if rootList == []:
            return None
        nextRootList = []
        for node in rootList:
            if node.val == val:
                return node
            else:
                if node.left != None:
                    nextRootList.append(node.left)
                if node.right != None:
                    nextRootList.append(node.right)
        return self.searchBSTNodeList(nextRootList,val)
                    
            
    def searchBST(self, root: TreeNode, val: int) -> TreeNode:
         return self.searchBSTNodeList([root],val)
推荐阅读:
  1. javascript中的值传递和引用传递的示例分析
  2. 刷题系列 - 序列化和反序列化一个二叉树

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

二叉 以该 给出

上一篇:后端传过来一个JS代码,前端拿到之后执行

下一篇:Python有哪些真实应用案例

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》