博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode OJ:Invert Binary Tree(反转二叉树)
阅读量:6568 次
发布时间:2019-06-24

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

Invert a binary tree.

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

to

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

Trivia:

This problem was inspired by  by :

  Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.

反转二叉树,递归的执行反转就行了:

1 /** 2  * Definition for a binary tree node. 3  * struct TreeNode { 4  *     int val; 5  *     TreeNode *left; 6  *     TreeNode *right; 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8  * }; 9  */10 class Solution {11 public:12     TreeNode* invertTree(TreeNode* root) {13         if(!root) return NULL;14         swap(root->left, root->right);15         root->left = invertTree(root->left);16         root->right = invertTree(root->right);17         return root;18     }19 };

 java版本的如下所示(由于不方便使用swap,所以这里采取的另一种的方式):

1 public class Solution { 2     public TreeNode invertTree(TreeNode root) { 3         if(root == null) 4             return root; 5         TreeNode leftNew = invertTree(root.right); 6         TreeNode rightNew = invertTree(root.left);  7         root.left = leftNew; 8         root.right = rightNew; 9         return root;10     }11 }

 

转载于:https://www.cnblogs.com/-wang-cheng/p/4905483.html

你可能感兴趣的文章
java.util.ConcurrentModificationException
查看>>
Oracle中TO_DATE格式
查看>>
phpmyadmin error:#2002 - 服务器没有响应
查看>>
我的友情链接
查看>>
socket的三次握手
查看>>
Linux使用Nginx搭建图片服务器
查看>>
数据库分页大全
查看>>
mkfs.ext4 /dev/sdb 与 mkfs.ext4 /dev/sdb1
查看>>
Android 实用工具Hierarchy Viewer实战
查看>>
Wireshark抓包工具使用教程以及常用抓包规则
查看>>
体绘制(Volume Rendering)概述介绍
查看>>
Java模式(适配器模式)
查看>>
TimerHandler的简单应用
查看>>
swift:使用协议protocol设置颜色,UIImage的切圆角ImageWithCornerRadius
查看>>
来一场说聊就聊的压测分享
查看>>
如何兼容並蓄Android Studio 與 Eclipse 的優點, 減少顧此失彼的缺憾
查看>>
配置scp在Linux或Unix之间传输文件无需密码
查看>>
身心感受
查看>>
你不需要jQuery(四)
查看>>
Linux主机被黑过程和简单处理
查看>>