{"id":2539,"date":"2018-04-25T22:19:56","date_gmt":"2018-04-25T14:19:56","guid":{"rendered":"https:\/\/boweihe.me\/?p=2539"},"modified":"2018-04-25T22:19:56","modified_gmt":"2018-04-25T14:19:56","slug":"leetcode-222-count-complete-tree-nodes","status":"publish","type":"post","link":"https:\/\/dayandcarrot.space\/?p=2539","title":{"rendered":"LeetCode 222. Count Complete Tree Nodes"},"content":{"rendered":"<p><a href=\"https:\/\/leetcode.com\/problems\/count-complete-tree-nodes\/description\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/leetcode.com\/problems\/count-complete-tree-nodes\/description\/<\/a><br \/>\n\u7b80\u5355\u7684\u4e8c\u5206\u6cd5\u5206\u6cbb\uff0c\u63a2\u6d4b\uff08\u5b50\uff09\u6811\u7684\u5de6\u53f3\u4fa7\u662f\u5426\u76f8\u7b49\u5373\u53ef\u3002<br \/>\n\uff08\u4e0b\u9762\u4ee3\u7801\u6ca1\u5b9e\u73b0\uff09\u60f3\u8981\u66f4\u5feb\u7684\u8bdd\uff0c\u5176\u5b9e\u81ea\u4ece\u7b2c\u4e00\u6b21\u7b97\u51fa\u5de6\u4fa7\u7684\u6df1\u5ea6\u540e\uff0c\u540e\u9762\u7684\u5de6\u6d4b\u6df1\u5ea6\u76f4\u63a5\u53ef\u4ee5\u901a\u8fc7\u51cf\u6cd5\u6c42\u51fa\uff0c\u4e0d\u7528\u518d\u53bb\u63a2\u6d4b\u4e00\u6b21\u4e86\u3002<\/p>\n<pre class=\"theme:arduino-ide lang:c++ decode:true \">\/**\n * Definition for a binary tree node.\n * struct TreeNode {\n *     int val;\n *     TreeNode *left;\n *     TreeNode *right;\n *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}\n * };\n *\/\nclass Solution {\npublic:\n    int countLevel(TreeNode* root, bool to_left) {\n        int count = 0;\n        while (root != nullptr)\n        {\n            count++;\n            root = to_left ? root-&gt;left : root-&gt;right;\n        }\n        return count;\n    }\n    int countNodes(TreeNode* root) {\n        if (root == nullptr)\n            return 0;\n        int lvl_left = countLevel(root, true);\n        int lvl_right = countLevel(root, false);\n        if (lvl_left == lvl_right)\n        {\n            \/\/ finally\n            return (1 &lt;&lt; lvl_left) - 1; \/\/ 2^n - 1\n        }\n        else\n        {\n            return 1 + countNodes(root-&gt;left) + countNodes(root-&gt;right);\n        }\n    }\n};<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/leetcode.com\/problems\/count-complete-tree-nodes\/description\/ \u7b80\u5355\u7684\u4e8c\u5206\u6cd5\u5206\u6cbb\uff0c\u63a2\u6d4b\uff08\u5b50\uff09\u6811\u7684\u5de6\u53f3\u4fa7\u662f\u5426\u76f8\u7b49\u5373\u53ef\u3002 \uff08\u4e0b\u9762\u4ee3\u7801\u6ca1\u5b9e\u73b0\uff09\u60f3\u8981\u66f4\u5feb\u7684\u8bdd\uff0c\u5176\u5b9e\u81ea\u4ece\u7b2c\u4e00\u6b21\u7b97\u51fa\u5de6\u4fa7\u7684\u6df1\u5ea6\u540e\uff0c\u540e\u9762\u7684\u5de6\u6d4b\u6df1\u5ea6\u76f4\u63a5\u53ef\u4ee5\u901a\u8fc7\u51cf\u6cd5\u6c42\u51fa\uff0c\u4e0d\u7528\u518d\u53bb\u63a2\u6d4b\u4e00\u6b21\u4e86\u3002 \/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; *\/ class Solution { public: int countLevel(TreeNode* root, bool to_left) { int count = 0; while (root != nullptr) { count++; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[66],"class_list":["post-2539","post","type-post","status-publish","format-standard","hentry","category-technical","tag-leetcode-oj"],"_links":{"self":[{"href":"https:\/\/dayandcarrot.space\/index.php?rest_route=\/wp\/v2\/posts\/2539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dayandcarrot.space\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dayandcarrot.space\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dayandcarrot.space\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dayandcarrot.space\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2539"}],"version-history":[{"count":0,"href":"https:\/\/dayandcarrot.space\/index.php?rest_route=\/wp\/v2\/posts\/2539\/revisions"}],"wp:attachment":[{"href":"https:\/\/dayandcarrot.space\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dayandcarrot.space\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dayandcarrot.space\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}