leetcode-114. Flatten Binary Tree to Linked List

来源:互联网 发布:南极争夺战 知乎 编辑:程序博客网 时间:2024/06/03 19:40

而叉树的先序遍历。
C++ 代码:

/** * 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:    void flatten(TreeNode* root) {        queue<TreeNode *> q;        if (root==NULL)            return;        help(root, q);        TreeNode *temp1= q.front();        root = temp1;        q.pop();        while (q.size()) {            TreeNode *temp2 = q.front();            q.pop();            temp1->right = temp2;            temp1->left = NULL;            temp1 = temp2;        }        return;    }    void help(TreeNode* root, queue<TreeNode*> & q) {        if (root == NULL)            return ;        q.push(root);        help(root->left, q);        help(root->right, q);    }};
0 0
原创粉丝点击