很簡答的一道題目,就是二叉樹遍歷找到某個(gè)節(jié)點(diǎn)的val是給出值,如果要返回的是以該節(jié)點(diǎn)為根節(jié)點(diǎn)的樹,那么就是按照層級遍歷,這里使用遞歸實(shí)現(xiàn)。如果找不到返回為空,如果找到返回該節(jié)點(diǎn)即可。
# 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)