zoukankan      html  css  js  c++  java
  • 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 };
  • 相关阅读:
    Ratchet(WebSockets for PHP)的官方TUTORIALS 的实践
    TCP_Wrappers访问控制
    PAM认证机制
    AIDE入侵检测系统
    使用gpg来加密数据
    openssl数据加密
    搭建私有CA
    进程概念
    进程管理命令
    Linux的信号管理
  • 原文地址:https://www.cnblogs.com/Asurudo/p/10126167.html
Copyright © 2011-2022 走看看