标题:leetcode114
取消只看楼主
归鸿唱晚
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-12-4
 问题点数:0 回复次数:3 
leetcode114
程序代码:
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)return;  
       flatten(root->left);     
       flatten(root->right);   
       TreeNode *temp=root->right;     
       root->right=root->left;       
       root->left=NULL;     
       while(root->right)root=root->right;    
       root->right=temp;
    }
};

while那行改变了root,root不就不是头结点了吗,这么做为什么没有问题?
搜索更多相关主题的帖子: int left NULL temp while 
2018-12-04 20:26
归鸿唱晚
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-12-4
得分:0 
回复 楼主 归鸿唱晚
2018-12-04 20:27
归鸿唱晚
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-12-4
得分:0 
回复 楼主 归鸿唱晚


[此贴子已经被作者于2018-12-4 20:31编辑过]



未命名图片.png (13.68 KB)
2018-12-04 20:27
归鸿唱晚
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-12-4
得分:0 
回复 3楼 归鸿唱晚
懂了,谢谢了各位!
2018-12-05 19:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-491824-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.349799 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved