二叉树练习题
Posted 爱吃榴莲的喵星人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树练习题相关的知识,希望对你有一定的参考价值。
文章目录
一、965. 单值二叉树
1、题目描述
2、题目代码
/**
* Definition for a binary tree node.
* struct TreeNode
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* ;
*/
bool isUnivalTree(struct TreeNode* root)
if(root == NULL)
return true;
if(root->left && root->left->val != root->val)
return false;
if(root->right && root->right->val != root->val)
return false;
return isUnivalTree(root->left) && isUnivalTree(root->right);
二、144. 二叉树的前序遍历
1、题目描述
2、题目代码
/**
* Definition for a binary tree node.
* struct TreeNode
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* ;
*/
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int pTSize(struct TreeNode* root)
return (root==NULL) ? 0 : pTSize(root->left) + pTSize(root->right) + 1;
void _preorderTraversal(struct TreeNode* root,int*a ,int* pi )
if(root == NULL)
return;
a[(*pi)++] = root->val;
_preorderTraversal(root->left , a, pi);
_preorderTraversal(root->right , a, pi);
int* preorderTraversal(struct TreeNode* root, int* returnSize)
int size = pTSize(root);
int* a = (int*)malloc(sizeof(int) * size);
*returnSize = size;
int i=0;
_preorderTraversal(root , a ,&i );
return a;
三、104. 二叉树的最大深度
1、题目描述
2、题目代码
/**
* Definition for a binary tree node.
* struct TreeNode
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* ;
*/
int maxDepth(struct TreeNode* root)
if(root == NULL)
return 0;
int lenghleft = maxDepth(root->left) + 1;
int lenghright = maxDepth(root->right) + 1;
return (lenghleft > lenghright) ? lenghleft : lenghright;
以上是本篇文章的全部内容,如果文章有错误或者有看不懂的地方,多和喵博主交流。互相学习互相进步。如果这篇文章对你有帮助,可以给喵博主一个关注,你们的支持是我最大的动力。
以上是关于二叉树练习题的主要内容,如果未能解决你的问题,请参考以下文章