专栏名称: 二叉树(微博搜索)
目录
相关文章推荐
51好读  ›  专栏  ›  二叉树(微博搜索)

二叉树(微博搜索)-20230612-1

二叉树(微博搜索)  · 微博搜索  ·  · 2023-06-12 00:00

正文

本条微博地址 夏日拥抱鱼崽9
二叉树画图可以搞死我
本条微博地址 gitpush-force
关注我,每天59秒拿下每日一题
国区每日一题今日思路:
有点类似数位dp题;首先对于二叉树的祖先节点的求法我们应该非常熟悉;我们可以使用数组表示二叉树(设根节点为1),左孩子为i*2,右孩子(i*2)+1,反过来如果求祖先节点我们只需要除2即可,求第k个祖先的话,就除以2^k;但是如果二叉树的高度比较高,我们可能无法使用有限长度数组表示。我们可以借助bit来表示,举个例子,如果我们想找一个节点的第15个祖先,15转换成二进制1111b,那么我们可以先找其第1个祖先,然后找第2,第4,第8个(顺序不分前后,1+2+4+8=15),即我们可以通过先找到2^(j-1)的祖先,然后再找距离这个祖先2^(j-1)的祖先,这样我们就找到了2^j的祖先;这样我们可以将n转换一个数将其用二进制表示,每一bit位表示距离2^j。那么对于构造函数我们有p[i][j+1]=p[p[i][j]][j]。在查询时,我们只需要知道k的二进制表示中哪些位是1即可,我们借助这些1来实现查找。
国际站每日一题今日思路:
双指针问题;使用双指针指向连续数字的左端点和右端点;分两种情况,左右端点重合和不重合,使用不同的字符串即可。
#LeetCode# #每日一题#






请到「今天看啥」查看全文