上一页 1 2 3 4 5 6 7 8 9 ··· 40 下一页
摘要: 这个题目居然是简单难度,吓了我一跳,本来一看到这个题目,我还一时半会儿没有想出来,后来想想这个题目可以作为模版题目,必须搞明白的题目,也就释然了。因为这个题目当中蕴含的思想非常经典,是一种典型的建立平衡二叉搜索树的方法,本题目的方法还可以推广到其他题目。可以多用于熟悉建立平衡二叉树。既然提到了平衡二 阅读全文
posted @ 2021-09-05 12:15 Geeksongs 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 这个题目直接递归就行,难度不大,就是要考虑全面一些哦,这道题应该也是剑指offer的原题 ,复习一下,挺简单的,代码如下: # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left= 阅读全文
posted @ 2021-08-31 23:41 Geeksongs 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 题目如下: 本题目的精华在于不要用一个for循环遍历整个linked list,而是使用两个for或者三个for对同一个linked list从前到后进行遍历,同样也只遍历O(the number of nodes)=O(N)次,我尝试过仅使用一个while循环来写,虽然也是o(n),但是在穿针引线 阅读全文
posted @ 2021-08-31 23:26 Geeksongs 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目如下: 本题目可以引入两个变量,一个变量pre,一个变量instant,这两个既是变量,也是指针,我们用head指针不断往后进行移动,每往后移动一次,instant变量就保存当前head的指针,然后instant.next指向pre指针 ,然后将instant的地址赋予pre指针,这样pre就做 阅读全文
posted @ 2021-08-31 22:46 Geeksongs 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 题目如下: 这个题目,一看可以把链表的nods全部拿到,放到set哈希表里面,也可以放在list里面,然后循环判断是否有两个地址相同的node,但是由于时间的限制只能在o(n)以内,因此我们可以采用哈希表,也就是python里面的set来做这道题,解答如下: # Definition for sin 阅读全文
posted @ 2021-08-29 20:37 Geeksongs 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 题目如下: 这个题目的要求让我们在O(n) time内完成,空间复杂度为O(1),因此我们只能遍历一次,然后使用常数个变量,因此我们立马就会想到使用两个变量,一个用于保留奇数链表的指针,另一个用来保留偶数链表的指针,然后我们遍历整个head 链表,遇到奇数就将奇数指针往后移动,遇到偶数也分别往后移动 阅读全文
posted @ 2021-08-28 23:52 Geeksongs 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 题目如下: 本体可以直接使用简介形解法: # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = nex 阅读全文
posted @ 2021-08-28 21:35 Geeksongs 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 题目如下所示: 这个题目也就是你一遇到一个node符合要求,你就可以将其删除。是一个比较简单的基础题目,用于熟悉链表当中的最基本操作。我们可以使用如下的方法,也就是暴力法,遍历整个linked list,然后将所有的nodes保存到一个list里面,对不符合要求的values进行排除,然后再重新建立 阅读全文
posted @ 2021-08-28 09:26 Geeksongs 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 题目如下,这里做一个记录: 思路: 1.首先使用快慢指针知道中点 2.然后使用递归得到avl平衡二叉树,因为中点作为root后,正好可以满足二叉搜索树的性质,也就是right node一定比left node更大,同时也可以满足avl平衡二叉树的性质,左右两边最多相差一个node。 # Defini 阅读全文
posted @ 2021-08-27 00:28 Geeksongs 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 这道题非常经典,其中快慢指针的思想可以覆盖到很多有链表的题目,值得深刻钻研,我们来看看这道题的原题是什么样的: 也就是说,我们需要找到一个链表当中的中间元素。如果linked list的nodes个数为偶数,则返回中间的那个node,如果linked list的nodes为奇数,则返回第二个中间节点 阅读全文
posted @ 2021-08-25 20:56 Geeksongs 阅读(9) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 40 下一页

Coded by Geeksongs on Linux

All rights reserved, no one is allowed to pirate or use the document for other purposes.