文章

2

粉丝

0

获赞

0

访问

878

头像
2025 年 9 月第 1 次 408 月考试卷 - 第41题回答
数据结构
发布于2025年9月20日 15:55
阅读数 451

(1)算法思想:使用前序遍历遍历整个树,然后对与每一个有左孩子和右孩子的结点找到其
直接前驱和直接后继的值,然后判断是否有val-left==right-val,如果是则count++,最后返回count 
(2) 
typedef struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
} TreeNode;
void pre(TreeNode* root,int &count){
    if(root->left==NULL||root->right==NULL){//判断是否有左孩子和右孩子 
        return;
    }
    int val=root->val;
    TreeNode* p1=root->left;
    int left,right;
    while(p1->right!=NULL){//找到其直接前驱 
        p1=p1->right;
    }
    left=p1->val;//得到直接前驱的值 
    p1=root->right;
    while(p1->left!=NULL){//找到其直接后继 
        p1=p1->left;
    }
    right=p1->val;//得到...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发