zoukankan      html  css  js  c++  java
  • 自下而上,从右至左的层序遍历

    普通的层序遍历是自下而上,从左至右; 这里刚好相反, 对于这样的问题,一般采用栈,栈能够实现序列的逆序。      因此,普通的层序遍历+栈,就能够解决这个问题。

     1 #include<bitsstdc++.h>
     2 using namespace std;
     3 
     4 struct node {
     5     int data;
     6     node* left = nullptr, * right = nullptr;
     7 };
     8 
     9 typedef struct node Node;
    10 
    11 Node* CreateTree() {
    12     Node* root = new Node;
    13     root->data = 1;
    14     root->left = new Node;
    15     root->left->data = 2;
    16     root->right = new Node;
    17     root->right->data = 3;
    18     root->left->left = new Node;
    19     root->left->left->data = 4;
    20     root->left->right = new Node;
    21     root->left->right->data = 5;
    22     root->right->left = new Node;
    23     root->right->left->data = 6;
    24     root->right->right = new Node;
    25     root->right->right->data = 7;
    26     return root;
    27 }
    28 
    29 // 
    30 void ReverseLevelTravel(Node* root) {
    31     if (root != nullptr) {
    32         queue<Node*> q;
    33         stack<Node*> s;
    34         q.push(root);
    35 
    36         while (!q.empty()) {
    37             root = q.front();
    38             s.push(root);   // 将出队的元素放入栈中
    39             q.pop();
    40             if (root->left != nullptr) {
    41                 q.push(root->left);
    42             }
    43             if (root->right != nullptr) {
    44                 q.push(root->right);
    45             }
    46         }
    47 
    48         while (!s.empty()) {
    49             root = s.top();
    50             s.pop();
    51             cout << root->data << " ";
    52         }
    53     }
    54 }
    55 
    56 int main() {
    57     Node* root = CreateTree();
    58     ReverseLevelTravel(root);
    59     return 0;
    60 }
  • 相关阅读:
    HDU-2502-月之数
    C语言的位运算的优势
    HDU-1026-Ignatius and the Princess I
    HDU-1015-Safecracker
    HDU-1398-Square Coins
    HDU-1028-Ignatius and the Princess III
    背包的硬币问题
    HDU-1527-取石子游戏
    HDU-1996-汉诺塔VI
    css中的选择器
  • 原文地址:https://www.cnblogs.com/yy-1046741080/p/11539722.html
Copyright © 2011-2022 走看看