加载中...
面试题 04.03-特定深度节点链表(List of Depth LCCI)
发表于:2021-12-03 | 分类: 中等
字数统计: 390 | 阅读时长: 2分钟 | 阅读量:

原文链接: https://leetcode-cn.com/problems/list-of-depth-lcci

英文原文

Given a binary tree, design an algorithm which creates a linked list of all the nodes at each depth (e.g., if you have a tree with depth D, you'll have D linked lists). Return a array containing all the linked lists.

 

Example:

Input: [1,2,3,4,5,null,7,8]

        1
       /  \ 
      2    3
     / \    \ 
    4   5    7
   /
  8

Output: [[1],[2,3],[4,5,7],[8]]

中文题目

给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表)。返回一个包含所有深度的链表的数组。

 

示例:

输入:[1,2,3,4,5,null,7,8]

        1
       /  \ 
      2    3
     / \    \ 
    4   5    7
   /
  8

输出:[[1],[2,3],[4,5,7],[8]]

通过代码

高赞题解

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    vector<ListNode*> listOfDepth(TreeNode* tree) {
        queue<TreeNode*> q;
        q.push(tree);
        vector<ListNode*> ret;
        while (!q.empty()) {
            int sz = q.size();
            ListNode* head = new ListNode(0);
            ListNode* p = head;
            while (sz--) {
                TreeNode* cur = q.front();
                q.pop();
                if (cur->left) {
                    q.push(cur->left);
                }
                if (cur->right) {
                    q.push(cur->right);
                }
                p->next = new ListNode(cur->val);
                p = p->next;
            }
            ret.push_back(head->next);
            delete head;
        }
        return ret;
    }
};

统计信息

通过次数 提交次数 AC比率
25118 31178 80.6%

提交历史

提交时间 提交结果 执行时间 内存消耗 语言
上一篇:
面试题 04.02-最小高度树(Minimum Height Tree LCCI)
下一篇:
面试题 04.04-检查平衡性(Check Balance LCCI)
本文目录
本文目录