zoukankan      html  css  js  c++  java
  • leetcode_question_114 Flatten Binary Tree to Linked List

    Given a binary tree, flatten it to a linked list in-place.

    For example,
    Given

             1
            / 
           2   5
          /    
         3   4   6
    

     

    The flattened tree should look like:

       1
        
         2
          
           3
            
             4
              
               5
                
                 6
    
    Hints:

    If you notice carefully in the flattened tree, each node's right child points to the next node of a pre-order traversal.

    void flatten(TreeNode *root) {
            // Start typing your C/C++ solution below
            // DO NOT write int main() function
            if(root==NULL) return;
            if(root->left == NULL && root->right == NULL) return;
    		flatten(root->left);
    		flatten(root->right);
    
    		TreeNode* tmpright = root->right;
    		root->right = root->left;
    		root->left = NULL;
    		TreeNode* tmp = root;
    		while(tmp->right)
    			tmp = tmp->right;
    		tmp->right = tmpright;
            return;
        }


  • 相关阅读:
    密码学浅析
    FireWall Mark + LVS
    tcp/ip首部
    iptables(二)网络防火墙
    BIND服务
    LVS(一)
    QQ、微信消息轰炸
    LVS四种模型(二)
    安装和克隆
    压缩和打包
  • 原文地址:https://www.cnblogs.com/james1207/p/3331265.html
Copyright © 2011-2022 走看看