刷题
丁川
这个作者很懒,什么都没留下…
展开
-
二叉树判断是否为折半查找树
二叉树判断是否为折半查找树题目网上有好多教程,看的我很头大。经过朋友的讲解,豁然顿悟。废话不说。要做对这道题,首先就是先要搞懂折半查找树是怎样的构建的过程,折半查找,顾名思义,就是通过一次次的折半,来构建树,小的放左边,大的放右边。构建树,肯定要先有根节点。没有问题吧。所以说先要折半。折半的还有问题,要么正好是中点,要么需要向上取整或者向下取整。这时候,你就会发现了,只能存在两种情况,要么取中点和向上取整,要么取中点和向下取整,这是为什么呢?因为我们数据有偶数和奇数之分的吧。明白了吧。看图,很原创 2022-02-26 14:49:34 · 3321 阅读 · 8 评论 -
将升序数组转化为平衡二叉搜索树
将升序数组转化为平衡二叉搜索树思路这道题是二分查找树的题目,要把一个有序数组转换成一颗二分查找树。从本质来看,如果把一个数组看成一棵树(也就是以中点为根,左右为左右子树,依次下去)。数组就等价于一个二分查找树。所以如果要构造这棵树,那就是把中间元素转化为根,然后递归构造左右子树。所以我们还是用二叉树递归的方法来实现,以根作为返回值,每层递归函数取中间元素,作为当前根和赋上结点值,然后左右结点接上左右区间的递归函数返回值。时间复杂度还是一次树遍历O(n),总的空间复杂度是栈空间O(logn)加上结果的原创 2022-02-18 16:56:49 · 447 阅读 · 0 评论 -
剑指 Offer II 027. 回文链表
剑指 Offer II 027. 回文链表给定一个链表的 头节点 head ,请判断其是否为回文链表。如果一个链表是回文,那么链表节点序列从前往后看和从后往前看是相同的。方法一:将值复制到数组中后用双指针法列表的概要讲述:有两种常用的列表实现,分别为数组列表和链表。如果我们想要在列表中存储值,它的实现是这样的:数组列表底层是使用数组存储值,我们可以通过索引在 O(1) 的时间访...原创 2022-01-22 23:22:00 · 285 阅读 · 0 评论