是否完全二叉树,leetcode958

it2023-08-18  64

这么简单的东西我为啥还要写呢,因为我的方法比左神的简单,哈哈哈哈,就这么简单,嗝~~~ 按层遍历,如果有有一个数据出现左或者右为NULL了,以后队列中的全部数据都不允许出现左右节点,必须全部是NULL,就这么简单

bool isCompleteTree(TreeNode* root) { if(NULL == root) return false; bool isend = false; queue<TreeNode*>nodeTree; nodeTree.push(root); while(!nodeTree.empty()) { TreeNode* nodeTemp = nodeTree.front(); if(NULL == nodeTemp->left) isend = true; else { if(isend) return false; else nodeTree.push(nodeTemp->left); } if(NULL == nodeTemp->right) isend = true; else { if(isend) return false; else nodeTree.push(nodeTemp->right); } nodeTree.pop(); } return true; }
最新回复(0)