leecode第一百一十四题(二叉树展开为链表)
Posted cjt-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leecode第一百一十四题(二叉树展开为链表)相关的知识,希望对你有一定的参考价值。
/** * 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) if(root==NULL)//记住!root可能为[] return; stack<TreeNode*> temp; TreeNode* first=root;//记住上一个节点 if(root->right!=NULL) temp.push(root->right); if(root->left!=NULL) temp.push(root->left); while(!temp.empty()) TreeNode* node=temp.top();//前序遍历 temp.pop(); if(node->right!=NULL) temp.push(node->right); if(node->left!=NULL) temp.push(node->left); first->right=node;//同时原地记录顺序 first->left=NULL; first=node; ;
分析:
思路很简单,就是前序遍历里加一点东西就好。
以上是关于leecode第一百一十四题(二叉树展开为链表)的主要内容,如果未能解决你的问题,请参考以下文章