[LeetCode]Populating Next Right Pointers in Each Node II
2015-12-02 11:58
701 查看
public class Solution { public void connect(TreeLinkNode root) { if (root == null) { return; } TreeLinkNode pre = root; TreeLinkNode next = find_next(pre); while (next != null) { TreeLinkNode tmp = next; while (pre != null) { if (tmp == pre.left) { if (pre.right != null) { tmp.next = pre.right; tmp = tmp.next; pre = pre.next; } else { pre = pre.next; } } else { if (pre.left != null) { tmp.next = pre.left; tmp = tmp.next; } else if (pre.right != null && tmp != pre.right) { tmp.next = pre.right; pre = pre.next; tmp = tmp.next; } else { pre = pre.next; } } } pre = next; next = find_next(next); } } public TreeLinkNode find_next (TreeLinkNode pre) { if (pre.left != null) { return pre.left; } else if (pre.right != null) { return pre.right; } else if (pre.next != null) { return find_next(pre.next); } else { return null; } } }
相关文章推荐
- hbase ERROR: Can't get master address from ZooKeeper; znode data == null问题解答
- Hadoop DataNode与DFSClient交互
- Nodejs-connect 中间件
- Delete Node in a Linked List 删除链表的一个节点
- 项目中部署Grunt
- 【leetcode】Count Complete Tree Nodes (Java)
- node.js初学(一)
- 搭建一个简单的Nodejs服务器
- Nodejs 0.10.x 之Query String模块
- leetcode Delete Node in a Linked List--重要
- Eclipse下Nodejs项目配置详细步骤
- LeetCode 19 : Remove Nth Node From End of List (Java)
- window安装node.js express注意事项
- DataNode启动流程
- NameNode格式过程
- 安装node_modules文件遇到的问题:更改代理
- 【02】Node.js 安装配置(OK)
- Node.js Tools for Visual Studio
- websocket nodejs
- [LeetCode]Remove Nth Node From End of List