zoukankan      html  css  js  c++  java
  • 剑指offer | 从上往下打印二叉树 | 28


    思路分析

    这个打印就是BFS的搜索,就是写一个BFS的模板

    cpp

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        vector<int> levelOrder(TreeNode* root) {
            vector<int> res;
            if(!root)return res;
            queue<TreeNode*> q;
            q.push(root);
            while(q.size()){
                auto t = q.front();
                q.pop();
                res.push_back(t->val);
                if(t->left)q.push(t->left);
                if(t->right)q.push(t->right);
            }
            return res;
        }
    };
    

    python

    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution:
        def levelOrder(self, root: TreeNode) -> List[int]:
            from queue import deque
            res =[]
            if not root:return res
            q = deque()
            q.append(root)
            while len(q):
                t = q[0]
                q.popleft()
                res.append(t.val)
                if t.left:q.append(t.left)
                if t.right:q.append(t.right)
            return res
    
  • 相关阅读:
    淘宝网站
    CentOS 安装 gcc
    待整理
    待整理
    CentOS常用查看系统命令
    Oracle 分区字段数据更新
    MapReduce修改输出的文件名
    MapReduce分区的使用(Partition)
    使用JobControl控制MapReduce任务
    Centos安装ntfs
  • 原文地址:https://www.cnblogs.com/Rowry/p/14334137.html
Copyright © 2011-2022 走看看