653. 两数之和 IV - 输入 BST

爱⌒轻易说出口 提交于 2019-11-30 05:46:39

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution(object):
    def findTarget(self, root, k):
        """
        :type root: TreeNode
        :type k: int
        :rtype: bool
        """
        nums=[]

        if root==None:
            return None
        else:
            self.helper(root,nums)

        l=0
        r=len(nums)-1

        while l!=r:
            if nums[r]+nums[l]==k:
                return l,r
            elif nums[r]+nums[l]>k:
                r-=1
            else:
                l+=1

        return None

        pass

    def helper(self,root,nums):
        if root.left!=None:
            self.helper(root.left,nums)
        nums.append(root.val)
        if root.right!=None:
            self.helper(root.right,nums)

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!