[LintCode] 翻转二叉树
递归实现:
1 /** 2 * Definition of TreeNode: 3 * class TreeNode { 4 * public: 5 * int val; 6 * TreeNode *left, *right; 7 * TreeNode(int val) { 8 * this->val = val; 9 * this->left = this->right = NULL; 10 * } 11 * } 12 */ 13 class Solution { 14 public: 15 /** 16 * @param root: a TreeNode, the root of the binary tree 17 * @return: nothing 18 */ 19 void invertBinaryTree(TreeNode *root) { 20 // write your code here 21 if (!root) return; 22 swap(root -> left, root -> right); 23 invertBinaryTree(root -> left); 24 invertBinaryTree(root -> right); 25 } 26 };
迭代实现:
1 /** 2 * Definition of TreeNode: 3 * class TreeNode { 4 * public: 5 * int val; 6 * TreeNode *left, *right; 7 * TreeNode(int val) { 8 * this->val = val; 9 * this->left = this->right = NULL; 10 * } 11 * } 12 */ 13 class Solution { 14 public: 15 /** 16 * @param root: a TreeNode, the root of the binary tree 17 * @return: nothing 18 */ 19 void invertBinaryTree(TreeNode *root) { 20 // write your code here 21 if (!root) return; 22 queue<TreeNode*> level; 23 level.push(root); 24 while (!level.empty()) { 25 TreeNode* node = level.front(); 26 level.pop(); 27 swap(node -> left, node -> right); 28 if (node -> left) level.push(node -> left); 29 if (node -> right) level.push(node -> right); 30 } 31 } 32 };
[LintCode] 翻转二叉树相关推荐
- 领扣LintCode算法问题答案-175. 翻转二叉树
领扣LintCode算法问题答案-175. 翻转二叉树 目录 175. 翻转二叉树 鸣谢 175. 翻转二叉树 翻转一棵二叉树.左右子树交换. 样例 1: 输入: {1,3,#} 输出: {1,#,3 ...
- 翻转二叉树 c语言实现 递归 栈 队列
前言 题目比较好理解,就是翻转二叉树 代码 c语言实现 #include<stdio.h> #include<stdlib.h> #include<string.h> ...
- 《LeetCode力扣练习》第226题 翻转二叉树 Java
<LeetCode力扣练习>第226题 翻转二叉树 Java 一.资源 题目: 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点. 示例 1: 输入:root = [4, ...
- 226. Invert Binary Tree 翻转二叉树
翻转一棵二叉树. 示例: 输入: 4/ \2 7/ \ / \ 1 3 6 9 输出: 4/ \7 2/ \ / \ 9 6 3 1 备注: 这个问题是受到 Max Howell 的 原问题 启发的 ...
- 翻转二叉树—leetcode226
翻转一棵二叉树. 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 ...
- 数据结构:(翻转二叉树) 若二叉树采用二叉链表作存储结构,要交换其所有分支结点的左右子树的位置,采用()遍历方法最合适
题目 若二叉树采用二叉链表作存储结构,要交换其所有分支结点的左右子树的位置,采用()遍历方法最合适?(北京航空航天大学1999,北京工业大学2016) A. 前序 B. 中序 C. 后序 D. 层次 ...
- Python3实现翻转二叉树问题
Python3实现翻转二叉树问题 翻转一棵二叉树. # 二叉树的结构如下 class TreeNode:def __init__(self, x):self.val = xself.left = No ...
- 【Leetcode | 48】226. 翻转二叉树
翻转一棵二叉树. 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 ...
- LeetCode 366. 寻找二叉树的叶子节点(上下翻转二叉树+BFS)
文章目录 1. 题目 2. 解题 1. 题目 给你一棵二叉树,请按以下要求的顺序收集它的全部节点: 依次从左到右,每次收集并删除所有的叶子节点 重复如上过程直到整棵树为空 示例: 输入: [1,2,3 ...
- LeetCode 156. 上下翻转二叉树(DFS)*
文章目录 1. 题目 2. 解题 1. 题目 给定一个二叉树,其中所有的右节点要么是具有兄弟节点(拥有相同父节点的左节点)的叶节点,要么为空 将此二叉树上下翻转并将它变成一棵树, 原来的右节点将转换成 ...
最新文章
- 盘点数据科学20个最好的Python库(附链接)
- 程序世界的秘密(中)
- 找出素数并升序排列c语言,习题:随机产生N个四位正整数,将其中的素数选出,并升序排列之输…...
- JZOJ 100041. 【NOIP2017提高A组模拟7.12】列车调度
- java svg image xlink_SVG基础 | SVG image 元素
- IM、RTC技术两生花,看融云如何打造“IM+RTC+Push”一站式通信云服务
- asio c++20 协程在windows下和linux下设定
- bootstrap popover弹框内容换行
- 人生的一切问题,归根结底就是这三点:无知!恐惧!延迟!
- Spring整合mybatis
- ubuntu全版本安装 NVIDIA显卡驱动、以及重装、卸载
- 黄小宁罪大恶极!!!!!!!!!!黄小宁罪大恶极!!!!!!!!!!
- 浏览器中的js不能同步更新的解决方案
- Educational Codeforces Round 49 (Rated for Div. 2)切题报告
- 报错:实体名称必须紧跟在 '' 后面
- 嵌入式Linux驱动学习【9】—— Nor Flash
- Lesson 49 At the butcher's
- HTTP 协议中GET和POST到底有哪些区别
- openfoam计算旋转体滑移网格方法和MRF方法(附案例代码)
- CSDN 开始起航
热门文章
- leetcode刷题日记-leetcode刷题日记-71. 简化路径
- java ——线程与并行
- matlab保存每次循环的结果
- python socket 通信(2) 协程实现多人聊天室
- node解决request返回内容gzip乱码问题
- 利用composer搭建PHP框架(五.自动加载)
- AsyncTask--源码心得
- vue混入html,vue混入(mixins)的应用
- C++复习(五)(const、static、inline、引用与指针、new/delete)
- java paint方法_在Java中,为了使paint()方法执行,以下各项中,()是最佳的调用方法