首页 > 编程语言 >力扣 二叉树 算法+题目 整理

力扣 二叉树 算法+题目 整理

时间:2022-11-03 11:37:17浏览次数:66  
标签:遍历 迭代 后序 力扣 算法 二叉树 节点

二叉树基础

包括三种遍历,建树和遍历的方法。

二叉树遍历

力扣 144,94,145 二叉树前中后序遍历

使用递归或者迭代空间复杂度都是o(n),而通过morris遍历则可以达到o(1),其介绍在Morris遍历 介绍+前中后序遍历

103. 二叉树的锯齿形层序遍历

锯齿遍历需要左右左右方向变化,编写并不难,注意内存的优化

107. 二叉树的层序遍历 II

输出自底向上的遍历结果,和上一题很类似。

116. 填充每个节点的下一个右侧节点指针

在每层,从左到右添加next的指向,最优的方法是通过dummy节点。

二叉树构建

先序和中序,中序和后序都可以确定一棵树,但是先序和后序确定的树不唯一。

105. 从前序与中序遍历序列构造二叉树

106. 从中序与后序遍历序列构造二叉树

889. 根据前序和后序遍历构造二叉树

二叉树性质

力扣 100.相同的树

判断两棵树是否相同,注意c++节点p判空的条件是if(!p)

力扣 101. 对称二叉树 [递归+迭代]

判断二叉树是否轴对称,可以使用递归方法(可参考 上一题),也可以利用队列将递归转化为迭代(其余题目也可以这样)。

力扣 104. 二叉树的最大深度

计算二叉树的最大深度,此处计算深度的方法可以给下题做参考。

力扣 110. 平衡二叉树 [基础+优化]

判断是否是平衡二叉树(定义:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 )。

此题需要利用计算深度的方法,同时基础解法会产生大量冗余计算,优化代码提供了实例可以了解优化过程。

力扣 111. 二叉树的最小深度 [递归+迭代]

计算最小深度,可以参考最大深度的题,可是需要有变动。

力扣 662. 二叉树最大宽度

计算最大宽度,注意数值类型,使用迭代求解可以利用vector优化数据结构。

二叉树路径求和

力扣 112. 路径总和

找一条根到叶子的路径,节点值的总和要满足目标,

力扣 113. 路径总和 II [dfs,bfs]

是上一题的变种

力扣 124. 二叉树中的最大路径和 [1.0,2.0]

这一题题意不难理解,但转化为代码整理好思路

力扣 129. 求根节点到叶节点数字之和

力扣 257. 二叉树的所有路径

标签:遍历,迭代,后序,力扣,算法,二叉树,节点
From: https://www.cnblogs.com/fudanxi/p/16659261.html

相关文章

  • Boyer-Moore投票算法
    算法简介在一个数组中,存在一个众数,众数的数量要大于数组大小的一半。设计时间复杂度为O(n),空间复杂度为O(n)的算法:在数组中找出该众数。该算法维护了两个变量:候选人......
  • 力扣1668(java&python)-最大重复子字符串(简单)
    题目:给你一个字符串 sequence ,如果字符串word 连续重复 k 次形成的字符串是 sequence 的一个子字符串,那么单词 word的重复值为k。单词word 的最大重复值......
  • raft算法(分布式一致性算法)
    一、概要Raft算法属于Multi-Paxos算法,它是在Multi-Paxos思想的基础上,做了一些简化和限制,比如增加了日志必须是连续的,只支持领导者、跟随者和候选人三种状态,在理解和算法实......
  • 算法题--从尾到头打印链表
    5要求时间限制:1秒空间限制:32768K题目描述输入一个链表,从尾到头打印链表每个节点的值解题思路链表必须要从头开始访问,如果需要将打印顺序颠倒,可以利用栈的特性。有时......
  • 代码随想录算法训练营第八天|344、反转字符串|541、反转字符串Ⅱ|剑指Offer 05、替换
    344、反转字符串·两两交换给字符串翻个面doge题目链接:https://leetcode.cn/problems/reverse-string/submissions/思路:首尾交换代码实现:     时间复杂度O(n......
  • 实验二:逻辑回归算法实验
    实验二:逻辑回归算法实验   【实验目的】理解逻辑回归算法原理,掌握逻辑回归算法框架;理解逻辑回归的sigmoid函数;理解逻辑回归的损失函数;针对特定应用场景及数据,能......
  • 儒略日算法
    儒略日C/C++//儒略日C++14autotoJulianDay(intyear,intmonth,intday)->int{constintadj=(14-month)/12;constinty=year+4800-adj......
  • 算法题--替换空格
    4要求时间限制:1秒空间限制:32768K题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为WeAreHappy.则经过替换之后的字符串为We%20Are%20Happy.......
  • 算法题--替换空格
    4要求时间限制:1秒空间限制:32768K题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为WeAreHappy.则经过替换之后的字符串为We%20Are%20Happy......
  • 机器学习EM算法
    目录​​1初识EM算法​​​​2EM算法介绍​​​​2.1极大似然估计​​​​2.1.1问题描述​​​​2.1.2用数学知识解决现实问题​​​​2.1.3最大似然函数估计值的求解......