zoukankan      html  css  js  c++  java
  • 剑指Offer 从上往下打印二叉树(dfs)

    题目描述

    从上往下打印出二叉树的每个节点,同层节点从左至右打印。
     
    思路:
    用一个队列来辅助,先压入根节点,设置一个指针记录队列头位置,判断队头指针有没有孩子,有压入左右孩子,,,操作完一次,队头出队。
     
     1 /*
     2 struct TreeNode {
     3     int val;
     4     struct TreeNode *left;
     5     struct TreeNode *right;
     6     TreeNode(int x) :
     7             val(x), left(NULL), right(NULL) {
     8     }
     9 };*/
    10 class Solution {
    11 public:
    12     vector<int> PrintFromTopToBottom(TreeNode *root) {
    13         vector<int> res;
    14         queue<TreeNode*> que;
    15         
    16         if(!root)
    17             return res;
    18         
    19         que.push(root);
    20         while(que.size()!=0)
    21         {
    22             TreeNode *r=que.front();
    23             que.pop();
    24             res.push_back(r->val);
    25             if(r->left)
    26                 que.push(r->left);
    27             if(r->right)
    28                 que.push(r->right);            
    29         }
    30         return res;
    31     }
    32 };
  • 相关阅读:
    mysql事务
    数据类型
    win10 开启全局代理
    高并发的一些思考
    多线程也不一定比单线程快
    单线程的JavaScript
    Vue2 响应式原理
    检查Object是否存在某个属性
    堆和栈
    LeetCode
  • 原文地址:https://www.cnblogs.com/SeekHit/p/5817767.html
Copyright © 2011-2022 走看看