LeetCode Populating Next Right Pointers in Each Node II

捕获.PNG
void connect(TreeLinkNode *root) {
        TreeLinkNode* dummy = new TreeLinkNode(0);
        while(root){
            TreeLinkNode* tmp = dummy;
            while(root){
                if(root -> left){
                    tmp -> next = root -> left;
                    tmp = tmp -> next;
                }
                if(root -> right){
                    tmp -> next = root -> right;
                    tmp = tmp -> next;
                }
                root = root -> next;
            }
            root = dummy -> next;
            dummy -> next = NULL;
        }
    }

加入一个dummy可以标识下一层的第一个结点位置,而且简化了判断条件。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容