本文共 712 字,大约阅读时间需要 2 分钟。
链接:
题目:将二叉树序列化为链表
思路:
先序遍历,保存一个全局的newroot,对于当前节点root: 暂存左右子节点,然后将newroot->right = root;newroot->left = NULL;newroot = root;代码:
class Solution {public: void pre(TreeNode *root){ if(!root) return; TreeNode *l = root->left; TreeNode *r = root->right; if(!newroot){ newroot = ret = root; } else { newroot->right = root; newroot->left = NULL; newroot = root; } pre(l); pre(r); } void flatten(TreeNode* root) { newroot = ret = NULL; pre(root); root = ret; } private: TreeNode *newroot; TreeNode *ret;};
转载地址:http://qirai.baihongyu.com/