class Solution { public: void connect(TreeLinkNode *root) { dfs(root, NULL); } void dfs(TreeLinkNode* root, TreeLinkNode* counter_part_root) { if (root == NULL) return; root->next = counter_part_root; dfs(root->left, root->right); dfs(root->right, counter_part_root == NULL ? NULL:counter_part_root->left); } };
貌似做过类似的,水一发
Leetcode Populating Next Right Pointers in Each Node,布布扣,bubuko.com
Leetcode Populating Next Right Pointers in Each Node
原文:http://www.cnblogs.com/lailailai/p/3681681.html