[LeetCode]Count Complete Tree Nodes
2015-11-30 12:39
561 查看
这个题目最开始算2的次方用了Math.pow,发现超时,改用1<<left之后通过。看来pow的开销是很大的啊
public class Solution { public int countNodes(TreeNode root) { return helper(root); } public int helper(TreeNode root) { if (root == null) { return 0; } int left = 0; int right = 0; TreeNode p = root; while (p != null) { left ++; p = p.left; } p = root; while (p != null) { right ++; p = p.right; } if (left == right) { return (1 << left) - 1; } else { return helper(root.left) + helper(root.right) + 1; } } }
相关文章推荐
- Ubuntu64-iNode-怎么装
- node连接数据库(express+mysql)
- node.js 理解阻塞与非阻塞
- LeetCode 116 Populating Next Right Pointers in Each Node
- 浅析node连接数据库(express+mysql)
- HDFS的namenode和datanode
- ClippingNode的简单使用
- nodejs学习路线图
- Nodejs学习笔记(一)——初识Nodejs
- Hadoop 启动节点Datanode失败解决
- HDFS学习笔记
- 用第三方框架GDataXMLNode解析XML数据:
- DOM----nodeType,nodeName,nodeValue笔记
- 《Node.js实战(第2季)》 读书笔记
- nodejs net模块实现socket
- nodeJs常用的一些地址
- [Nodejs入门]第四篇,用nodejs实现一个爬虫的功能
- [nodejs入门]第一篇,javascript基础(2)
- node.js和socket.io纯js实现的即时通讯实例分享
- 237. Delete Node in a Linked List