博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]Invert Binary Tree
阅读量:2236 次
发布时间:2019-05-09

本文共 1034 字,大约阅读时间需要 3 分钟。

解题思路:
递归法,只要root有一个子树不为空,就要swap一次,然后深入到子树中执行相同的操作
前条件:存在一个root
不变式:swap左右子树,递归
结束条件:root左右子树都为NULL
临界条件:root为NULL
// 编译错误
Line 23: return-statement with a value, in function returning 'void' [-fpermissive]

返回类型为void,用return NULL是肯定不对的 

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    TreeNode* invertTree(TreeNode* root) {        if(root == NULL){            return NULL;        }        swapNode(root);        return root;    }    void swapNode(TreeNode* root){        if (root->left == NULL && root->right == NULL){            return;        }else{            TreeNode* temp;            temp = root->left;            root->left = root->right;            root->right = temp;            if (root->left != NULL){                invertTree(root->left);            }            if (root->right != NULL){                invertTree(root->right);            }        }    }};

转载地址:http://wjpbb.baihongyu.com/

你可能感兴趣的文章
【LEETCODE】53-Maximum Subarray
查看>>
【LEETCODE】215-Kth Largest Element in an Array
查看>>
【LEETCODE】241-Different Ways to Add Parentheses
查看>>
【LEETCODE】312-Burst Balloons
查看>>
【LEETCODE】232-Implement Queue using Stacks
查看>>
【LEETCODE】225-Implement Stack using Queues
查看>>
【LEETCODE】155-Min Stack
查看>>
【LEETCODE】20-Valid Parentheses
查看>>
【LEETCODE】290-Word Pattern
查看>>
【LEETCODE】36-Valid Sudoku
查看>>
【LEETCODE】205-Isomorphic Strings
查看>>
【LEETCODE】204-Count Primes
查看>>
【LEETCODE】228-Summary Ranges
查看>>
【LEETCODE】27-Remove Element
查看>>
【LEETCODE】66-Plus One
查看>>
【LEETCODE】26-Remove Duplicates from Sorted Array
查看>>
【LEETCODE】118-Pascal's Triangle
查看>>
【LEETCODE】119-Pascal's Triangle II
查看>>
word2vec 模型思想和代码实现
查看>>
怎样做情感分析
查看>>