Leetcode-958 Check Completeness of a Binary Tree(二叉树的完全性检验)

Posted Asurudo Jyo の 倉 庫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode-958 Check Completeness of a Binary Tree(二叉树的完全性检验)相关的知识,希望对你有一定的参考价值。

模板题,不懂为什么会比第一题分高

 1 class Solution
 2 {
 3     public:
 4         bool isCompleteTree(TreeNode* root)
 5         {
 6             if (root == NULL)
 7                 return false;
 8 
 9             queue<TreeNode *> q;
10             q.push(root);
11             bool mustHaveNoChild = false;
12             bool result = true;
13             while (!q.empty())
14             {
15                 TreeNode* pNode = q.front();
16                 q.pop();
17                 if (mustHaveNoChild)//如果一个节点没有子节点;只要出现了空子树的节点,后面出现的必须为叶子节点(左字树右子树必须为空)
18                 {
19                     if (pNode->left != NULL || pNode->right != NULL)
20                     {
21                         result = false;
22                         break;
23                     }
24                 }
25                 else
26                 {
27                     if (pNode->left != NULL && pNode->right != NULL)
28                     {
29                         q.push(pNode->left);
30                         q.push(pNode->right);
31                     }
32                     else if (pNode->left != NULL && pNode->right == NULL)
33                     {
34                         mustHaveNoChild = true;
35                         q.push(pNode->left);
36                     }
37                     else if(pNode->left == NULL && pNode->right != NULL)
38                     {
39                         result = false;
40                         break;
41                     }
42                     else
43                     {
44                         mustHaveNoChild = true;
45                     }
46                 }
47             }
48             return result;
49 
50         }
51 };

 

以上是关于Leetcode-958 Check Completeness of a Binary Tree(二叉树的完全性检验)的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 最小窗口子串。给定一个字符串S和一个字符串T,找到S中的最小窗口,它将包含在Comple中的T中的所有字符

iOS 后台任务

check约束叫啥约束?

20160929训练记录

1. Two Sum

MySQL中check的用法