代码随想录算法训练营第十四天 | Javascript | 继续二叉树的一天 | 力扣Leetcode | 补 [617、700、98、530]

目录

前言

简介

题目链接:617. 合并二叉树

题目链接: 700. 二叉搜索树中的搜索

题目链接:98. 验证二叉搜索树

题目链接:530. 二叉搜索树的最小绝对差


前言

踏平坎坷成大道,斗罢艰险又出发!

自律的尽头是自控,自控的尽头是硬控

愿道友们披荆斩棘,终能得偿所愿。

简介

本人是小几年经验的前端开发,算法基础只有力扣几十道题,非常薄弱。

今天是个人的代码随想录算法硬控自己第14天,继续补二叉树,冲!

题目链接:617. 合并二叉树

简单,直接撸。

865b808c2d594646b92b12d33f312821.png

题目链接: 700. 二叉搜索树中的搜索

简单,直接撸。

递归法:

be1116d631424c968741b013ccf50483.png

迭代法:

95d9aa2b731541788dd55080dd52b944.png

题目链接:98. 验证二叉搜索树

这里犯了一个很多道友容易忽视的错误:1. 作用域。2. var vs let。

我先贴个错误的代码,大家看看哪里有错:

1304652ecd384067b572fe50bb51dec7.png

答案是prev的初始化,JS里我这么定义prev=null会让它变成原始类型,原始类型是按值传递的,也就意味着在递归中改了prev值也不会在递归其他层得到保留,解决办法有两个,一个是把他变成对象,对象里包含prev,对象就不是按值传递的了而是引用。一个是定义一个外部局部变量,使得递归的每一层仍然能正确更新prev。

这里我贴一个定义外部局部变量的解决方法:

69a00bd0fb3244b6b172d1019cb8b5f8.png


 

题目链接:530. 二叉搜索树的最小绝对差

这里与双指针法做上一题有异曲同工之处。只需要注意这里返回值是不需要返回任何东西的,因为题目的要求的最小绝对差已经在外部定义好了。

fdd60f65dc52424db22b82e1b08928e6.png

代码随想录算法训练营是一个优质的学习和讨论平台,提供了丰富的算法训练内容和讨论交流机会。在训练营中,学员们可以通过观看视频讲解来学习算法知识,并根据讲解内容进行刷题练习。此外,训练营还提供了刷题建议,例如先看视频、了解自己所使用的编程语言、使用日志等方法来提高刷题效果和语言掌握程度。 训练营中的讨论内容非常丰富,涵盖了各种算法知识点和解题方法。例如,在第14天的训练营中,讲解了二叉树的理论基础、递归遍历、迭代遍历和统一遍历的内容。此外,在讨论中还分享了相关的博客文章和配图,帮助学员更好地理解和掌握二叉树的遍历方法。 训练营还提供了每日的讨论知识点,例如在第15天的讨论中,介绍了层序遍历的方法和使用队列来模拟一层一层遍历的效果。在第16天的讨论中,重点讨论了如何进行调试(debug)的方法,认为掌握调试技巧可以帮助学员更好地解决问题和写出正确的算法代码。 总之,代码随想录算法训练营是一个提供优质学习和讨论环境的平台,可以帮助学员系统地学习算法知识,并提供了丰富的讨论内容和刷题建议来提高算法编程能力。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [代码随想录算法训练营每日精华](https://blog.csdn.net/weixin_38556197/article/details/128462133)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值