leetcode刷题笔记-226. 翻转二叉树(java实现)
题目描述
翻转一棵二叉树。
示例:
输入:
4
/ \
2 7
/ \ / \
1 3 6 9
输出:
4
/ \
7 2
/ \ / \
9 6 3 1
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/invert-binary-tree
解题思路
经过观察,把二叉树的左右子节点进行交换,所有子节点递归后,最后的结果就是完全翻转的二叉树。
如果有其他的好方案,欢迎大家留言,一起交流。
参考来源:https://labuladong.gitbook.io/algo/shu-ju-jie-gou-xi-lie/shou-ba-shou-shua-er-cha-shu-xun-lian-di-gui-si-wei/er-cha-shu-xi-lie-1
解题代码
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
public TreeNode invertTree(TreeNode root) {
if(root == null) {
return null;
}
TreeNode tmp = root.left;
root.left = root.right;
root.right = tmp;
invertTree(root.left);
invertTree(root.right);
return root;
}
}
leetcode刷题笔记-226. 翻转二叉树(java实现) 相关文章
吴裕雄--天生自然 Zookeeper学习笔记--Zookeeper 节点特性
介绍一下 zookeeper 的节点特性和简单使用场景,正是由于这些节点特性的存在使 zookeeper 开发出不同的场景应用。 1、同一级节点 key 名称是唯一的实例:$ ls /$ create /runoob 2 2、创建节点时,必须要带上全路径实例:$ ls /runoob$ create /runoob/child
吴裕雄--天生自然 Zookeeper学习笔记--Zookeeper 四字命令
zookeeper 支持某些特定的四字命令与其交互,用户获取 zookeeper 服务的当前状态及相关信息,用户在客户端可以通过 telenet 或者 nc(netcat) 向 zookeeper 提交相应的命令。安装 nc 命令:$ yum install nc # centos或$ sudo apt install netcat # ubuntu
吴裕雄--天生自然 Zookeeper学习笔记--Zookeeper Java 客户端搭建
使用的 IDE 为 IntelliJ IDEA,创建一个 maven 工程,命名为 zookeeper-demo,并且引入如下依赖,可以自行在maven中央仓库选择合适的版本,介绍原生 API 和 Curator 两种方式。 dependency groupIdjunit/groupId artifactIdjunit/artifactId version4.11/ver
吴裕雄--天生自然 Zookeeper学习笔记--ZooKeeper 数据模型 znode 结构详解
数据模型在 zookeeper 中,可以说 zookeeper 中的所有存储的数据是由 znode 组成的,节点也称为 znode,并以 key/value 形式存储数据。整体结构类似于 linux 文件系统的模式以树形结构存储。其中根路径以 / 开头。进入 zookeeper 安装的 bin 目录,通过sh zk
吴裕雄--天生自然 Zookeeper学习笔记--Zookeeper 安装配置
Linux 安装zookeeper 下载地址为: https://zookeeper.apache.org/releases.html。 打开网址 https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz,看到如下界面: 选择一个下载地址,使用 wget 命令下载并安装:$ wg
redis6.0.5之zset阅读笔记4--压缩列表(ziplist)排序集相关API
***********************************************************************************************获取压缩链表中节点的数值double zzlGetScore(unsigned char *sptr) { unsigned char *vstr; unsigned int vlen; long long vlong; char buf[128]; double
吴裕雄--天生自然 Zookeeper学习笔记--Zookeeper linux 服务端集群搭建步骤
所需准备工作,创建三台虚拟机环境并安装好 java 开发工具包 JDK,可以使用 VM 或者 vagrant+virtualbox 搭建 centos/ubuntu 环境,本案例基于宿主机 windows10 系统同时使用 vagrant+virtualbox 搭建的 centos7 环境,如果直接使用云服务器或者物理机同理。
算法刷题及总结_数组篇
二分法 //算法总结//第一部分:数组相关/***Leetcode题目35:搜索插入位置*给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。*示例 1:*输入: [1,3,5,6], 5*输出: 2**示例 2:*输入
go笔记03
package main import "fmt" /*func pop(arr [10]int) { //冒泡排序 for i := 0; i len(arr)-1; i++ { for j := 0; j len(arr)-1-i; j++ { if arr[j] arr[j+1] { arr[j], arr[j+1] = arr[j+1], arr[j] } } } fmt.Println(arr) }*/ func main() { //数组 是指
Mybatis-plus笔记
快速入门 创建数据库 DROP TABLE IF EXISTS user;?CREATE TABLE user( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT(11) NULL DEFAULT NULL COMMENT '年龄', email VARCHAR(50) NULL DEFAULT NULL