[leetcode: Python]257. Binary Tree Paths

来源:互联网 发布:淘宝300多的充气娃娃 编辑:程序博客网 时间:2024/05/22 14:25

关于Valid Anagram这一题,补充一个方法,性能109ms:

from collections import Counterclass Solution(object):    def isAnagram(self, s, t):        """        :type s: str        :type t: str        :rtype: bool        """        s_counter = Counter(s)        t_counter = Counter(t)        return s_counter == t_counter

这里写图片描述

题目:
Given a binary tree, return all root-to-leaf paths.

For example, given the following binary tree:

   1 /   \2     3 \  5

All root-to-leaf paths are:

["1->2->5", "1->3"]

题意:
找出二叉树的所有路径。

方法一:性能55ms

# Definition for a binary tree node.# class TreeNode(object):#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass Solution(object):    def binaryTreePaths(self, root):        """        :type root: TreeNode        :rtype: List[str]        """        self.ans = []        if root == None:            return self.ans        def dfs(root, path):            if root and root.left is None and root.right is None:                self.ans.append(path)            elif root.left:                root.left = dfs(root.left, path + '->' + str(root.left.val))            elif root.right:                root.right = dfs(root.right, path + '->' + str(root.right.val))            dfs(root, root.val)            return self.ans
0 0
原创粉丝点击