美文网首页
算法-刷题记录 - 02(Swift 实现)

算法-刷题记录 - 02(Swift 实现)

作者: 洧中苇_4187 | 来源:发表于2022-06-08 13:49 被阅读0次

二叉树相关

  1. 二叉树的遍历分为前序,中序,后序, 说白了就是根节点的位置, 根节点在前面就是前序遍历,以此类推
  2. 每种遍历各有优势, 比如获取某个二叉树的最大深度就采用前序遍历, 再比如获取所有节点个数就需要遍历整个二叉树, 此时采用后序遍历就比较合适, 只有二叉树才有中序遍历, 因为多叉树根节点的位置不确定.
  3. 中序遍历可以认为是遍历有序数组

题目1:
二叉树的最大深度

class Node {
   var left: Node?
   var right: Node?
   var val: String
   
   init(val: String) {
       self.val = val
   }
}

//解法1
var depth = 0, res = 0
func maxDepth(node: Node) -> Int {
   reverse(node: node)
   return res
}


func reverse(node: Node?) {
   if node == nil {return}
   
   depth += 1
   if node?.left == nil, node?.right == nil {
       res = Swift.max(depth, res)//到达叶子节点,
   }
   
   reverse(node: node?.left)
   reverse(node: node?.right)
   
   depth -= 1
}

//解法2
/// 输入根节点 返回二叉树的最大深度
/// - Parameter node: 输入根节点
/// - Returns: 最大深度
func reverse1(node: Node?) -> Int {
   if node == nil {return 0}
   
   let left = reverse1(node: node?.left)
   let right = reverse1(node: node?.right)
   res = Swift.max(left, right) + 1

   return res
}

题目2:
如果把根节点看做第 1 层,如何打印出每一个节点所在的层数?

相关文章

  • 算法-刷题记录 - 02(Swift 实现)

    二叉树相关 二叉树的遍历分为前序,中序,后序, 说白了就是根节点的位置, 根节点在前面就是前序遍历,以此类推每种遍...

  • LeetCode题一 两数之和

    由于自己关于算法方面确实非常薄弱,所以尝试在LeetCode上刷题,所有代码均是基于swift实现。(LeetCo...

  • Swift 算法刷题

    目标一周刷2道题也不知道能坚持几天,这玩意在leetcode做完怎么保存啊 给一个有序的数组,数组中有重复数字,输...

  • 算法-刷题记录 - 01(Swift 实现)

    刷题思路: 判断数据的合法性, 过滤掉非法的情况确定循环跳出条件, 要么找到了(标记位置),要么找不到(跳出循环)...

  • 设计循环队列

    最近从头开始刷 LeetCode 算法题,遇到这个,记录一下:题干: 执行用时分布图表:

  • Swift 算法实战之路:链表

    上期我们探讨了使用Swift如何破解数组、字符串、集合、字典相关的算法题。本期我们一起来讲讲用Swift如何实现链...

  • 算法题有多重要 | 来看看Android-Flutter面试亲历

    这两周面试遇到的算法题,都是需要手写实现,本人算法相当菜,面试之前也没刷题的概念,所以算法答的很不好,下面只简单说...

  • 2020-02-01关于刷题的几个建议

    算法刷题 针对性刷题,刻意练习。刻意刷题!不是麻木刷题!刷题前一定要先看书,清楚明白为什么要刷这些题,这些题刷完能...

  • Best Time to Buy and Sell Stock

    tags: 算法, LeetCode, swift, 动态规划 这是最近在学算法中完成的第一个系列题,系列题...

  • 刷算法题

    入门级难度的几道题目简单乘法->斐波那契数列->链表->整数排序->二叉树一点一点过度, 让思维进入到刷题状态. ...

网友评论

      本文标题:算法-刷题记录 - 02(Swift 实现)

      本文链接:https://www.haomeiwen.com/subject/lknhertx.html