226. Invert Binary Tree

    xiaoxiao2021-03-25  104

    一开始不懂为什么定义的结构体里面又去定义left和right结构体

    柏宁说这是树结构的定义方法,val存储节点的值,像链表一样,左边指针的指向左孩子,右边的指针指向右孩子

    递归调用这里我觉得挺好理解的

    就是根节点在中间,利用temp将左右指针调换一个位置

    然后左子树重复这个操作

    右子树也是

    最后返回!

    今天好顺利,两道题代码都很短很快AC

    我和柏宁比赛做leetcode题 他做了40多道了,我卡住做不出来就不做了

    还好师父说你不会就问他啊 在柏宁的帮助下 我也可以开始刷题的脚步了

    Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9

    to

    4 / \ 7 2 / \ / \ 9 6 3 1

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ struct TreeNode* invertTree(struct TreeNode* root) { if(root==NULL){ return root; } struct TreeNode *temp=root->left; root->left = root->right; root->right =temp; invertTree(root->left); invertTree(root->right); return root; }
    转载请注明原文地址: https://ju.6miu.com/read-16099.html

    最新回复(0)