yirufeng
738字约2分钟
2024-05-12
二叉搜索树的定义:空树或者具有如下性质的二叉树,若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树
远程面试使用的是牛客网,线上IDE只有一个默认的 main 函数,然而面试官在给出题目的时候不像平时做题时给出一个要求的函数签名,所以我们要先写出树的数据结构,然后写函数(面试官有说入参是一个根节点),最后测试的时候要自己 new 一棵二叉树,虽然没花多少时间,但是第一次面试还是不太习惯Orz。
例如根节点到叶子节点的一条路径是 1→2→3 ,那么这条路径就用 123 来代替。
找出根节点到叶子节点的所有路径表示的数字之和
问了大概 25 分钟才做的算法题,做完了递归让非递归做一遍
直接递归就行了,后来又要求路径不一定要到叶结点,稍微改一改也就行了……
复杂度 一开始直接就说 log(N),当场去世……
面试官让我再考虑一下,发现是 O(N),因为最糟的情况下每个结点都要访问一次