摘要: 算法练习(14)-二叉树中2个节点的最近公共祖先? 比如这颗树,给定2个节点: 4、5 ,它们的最近公共祖先节点为2。类似的,如果是3、5,它们的最近公共祖先节点为1。 一种比较容易想到的思路,如果知道每个节点到root的全路径, 比如 3到root节点的全路径为: 3->1 5到root节点的全路径为: 5->2->1 这样,只要遍历对比下全路径, 阅读全文
posted @ 2021-10-31 22:37 菩提树下的杨过 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 算法练习(13)-打印纸条对折的折痕类型(凹痕?凸痕?) 从左神视频上看到一个有趣的题目,据说是微软的算法面试题:一个长纸条,对折后再展开,中间会有一个凹痕,然后同样的方式,再继续对折, 又会多出2条折痕(不过新折痕会有凸有凹),如此反复对折,纸条上就会留下一系列的折痕,见下图: 要求:输入1个数字(n),表示对折的次数, 从上而下, 打印每1条拆痕的类型 阅读全文
posted @ 2021-10-31 12:58 菩提树下的杨过 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 算法练习(12)-二叉树的递归套路 如果二叉树的问题,可以分解为 先处理左树, 再处理右侧, 这种就可以用所谓"递归套路"解法 阅读全文
posted @ 2021-10-31 12:37 菩提树下的杨过 阅读(128) 评论(0) 推荐(0) 编辑