面试题 04.03. 特定深度节点链表




方法一:BFS模板的应用。

总结的DFS、BFS模板参考:https://www.cnblogs.com/panweiwei/p/13065661.html

class Solution(object):
    # BFS模板,百试不爽。
    def listOfDepth(self, tree):
        """
        :type tree: TreeNode
        :rtype: List[ListNode]
        """
        if not tree:
            return []
        ans = []
        stack = [tree]
        while stack:
            sizeStack = len(stack)
            # 初始化头结点
            head = ListNode(None)
            temp = head
            for i in range(sizeStack):
                node = stack.pop(0)
                temp.next = ListNode(node.val)
                temp = temp.next
                if node.left:
                    stack.append(node.left)
                if node.right:
                    stack.append(node.right)
            # 结果中是不要头结点的
            ans.append(head.next)
        return ans
posted @ 2020-09-13 16:22  人间烟火地三鲜  阅读(104)  评论(0编辑  收藏  举报