Invert a binary tree. 12345 4 / 2 7 / / 1 3 6 9 to 12345 4 / 7 2 / / 9 6 3 1 1.递归 12345678910 class Solution {public: TreeNode* (TreeNode* root) { if (root == NULL) return NULL; TreeNode *tmp = root->left; root->left = invertTree(root->right); root->right = invertTree(tmp); }}; 2.非递归 123456789101112131415161718192021222324 class Solution {public: TreeNode* (TreeNode* root) { if (root == NULL) return NULL; queue<TreeNode *> p; p.push(root); while (! p.empty()) { TreeNode *node = p.front(); TreeNode *left = node->left; node->left = node->right; node->right = left; p.pop(); if (node->left != NULL) p.push(node->left); if (node->right != NULL) p.push(node->right); } return root; }}; 赞微海报分享
近期评论