前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python技术面试题(二十一)

python技术面试题(二十一)

作者头像
小闫同学啊
发布2019-07-18 15:37:29
5810
发布2019-07-18 15:37:29
举报
文章被收录于专栏:小闫笔记小闫笔记

正文共:837 字 5 图 预计阅读时间:3 分钟

每日分享

If you want to awaken all of humanity, awaken all of yourself.

--老子

小闫语录

有人说此句是老子『西升经』中一语,有人说此句出自『化胡经』。翻译简单,意译难,没有具体的上下文,还是不翻译此句了。

排序二叉树如何查找两个叶节点的最近公共祖先

排序二叉树有一个特点,就是左子树的节点都比父节点小,位于右子树的节点都比父节点大。抓住这个特点,我们从根节点开始进行比较查找。如果当前节点的值比两个节点的值都大,那么最低的公共祖先节点一定在该节点的左子树中,下一步就开始遍历当前节点的左子树。如果当前节点的值比两个节点的值都小,那么最低的公共祖先节点一定在该节点的右子树中,下一步就是遍历当前节点的右子树。这样从上到下找到第一个在两个输入节点的值之间的节点。

了解完之后,我们利用python代码实现一下:

代码语言:javascript
复制
class TreeNode(object):
    def __init__(self,item):
        self.item = item
        self.lchild = None
        self.rchild = None
    def getCommonAncestor(root,node1,node2):
        while root:
            if root.item > node1.item and root.item > node2.item:
                root = root.lchild
            elif root.item < node1.item and root.item < node2.item:
                root = root.rchild
            else:
                return root
        return None

优质文章推荐:

公众号使用指南

redis操作命令总结

MySQL相关操作

SQL查询语句

前端中那些让你头疼的英文单词

Flask框架重点知识总结回顾

团队开发注意事项

浅谈密码加密

Django框架中的英文单词

Django中数据库的相关操作

DRF框架中的英文单词

DRF框架

Django相关知识点回顾

python技术面试题-腾讯

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈技术精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 每日分享
    • 排序二叉树如何查找两个叶节点的最近公共祖先
    相关产品与服务
    云数据库 MySQL
    腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档