leetcode - Flatten Binary Tree to Linked List
2013-04-12 16:23 张汉生 阅读(159) 评论(0) 编辑 收藏 举报题目描述:点击此处
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode * getLastNode(TreeNode *root){ if (root == NULL) return NULL; TreeNode * left = root->left, *right = root->right; root->left = NULL; root->right = NULL; TreeNode * link = root; if (left !=NULL){ root->right = left; link = getLastNode(left); } if (right != NULL){ link->right = right; link = getLastNode(right); } return link; } void flatten(TreeNode *root) { // Start typing your C/C++ solution below // DO NOT write int main() function getLastNode(root); } };