zoukankan      html  css  js  c++  java
  • 【leetcode】988. Smallest String Starting From Leaf

    题目如下:

    Given the root of a binary tree, each node has a value from 0 to 25representing the letters 'a' to 'z': a value of 0 represents 'a', a value of 1 represents 'b', and so on.

    Find the lexicographically smallest string that starts at a leaf of this tree and ends at the root.

    (As a reminder, any shorter prefix of a string is lexicographically smaller: for example, "ab" is lexicographically smaller than "aba".  A leaf of a node is a node that has no children.)

    Example 1:

    Input: [0,1,2,3,4,3,4]
    Output: "dba"
    

    Example 2:

    Input: [25,1,3,1,3,0,2]
    Output: "adz"
    

    Example 3:

    Input: [2,2,1,null,1,0,null,0]
    Output: "abc"
    

    Note:

    1. The number of nodes in the given tree will be between 1 and 1000.
    2. Each node in the tree will have a value between 0 and 25.

    解题思路:把树遍历一下就好了,依次记录从根节点开始每一层的节点的值,到达叶子节点后比较得到最小值。

    代码如下:

    # 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):
        res = 'z'*1001
        def recursive(self,node,path):
            path += chr(node.val + ord('a'))
            if node.left == None and node.right == None:
                self.res = min(self.res,path[::-1])
            if node.left != None:
                self.recursive(node.left,path)
            if node.right != None:
                self.recursive(node.right, path)
    
        def smallestFromLeaf(self, root):
            """
            :type root: TreeNode
            :rtype: str
            """
            if root != None:
                self.recursive(root,'')
            return self.res
  • 相关阅读:
    在centos上搭建Git服务器
    glog日志库移植Android平台
    水葱
    路易斯安娜鸢尾
    再力花
    矮生百慕大
    洒金珊瑚
    八角金盘
    锦绣杜鹃
    茶梅球
  • 原文地址:https://www.cnblogs.com/seyjs/p/10353719.html
Copyright © 2011-2022 走看看