E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
剑指offer系列
python
剑指offer系列
-leetcode
剑指offer系列
专题
文章目录03.数组中重复的数字简单04.二维数组中的查找07.重建二叉树08:二叉树的下一个节点09-1.用两个栈实现队列09-2:用队列实现栈10-I.斐波那契数列10-II.青蛙跳台阶问题11.旋转数组的最小数字153.寻找旋转排序数组中的最小值12.矩阵中的路径15.二进制中1的个数29.顺时针打印矩阵39.数组中出现次数超过一半的数字55-I.二叉树的深度55-II.平衡二叉树67.把字符
漂流瓶zps
·
2020-07-09 16:52
leetcode
leetcode
剑指Offer
python
算法
数据结构
斐波那契数列 - leetcode
剑指offer系列
题目难度:简单原题链接今天继续更新
剑指offer系列
,这道题实在太经典了,它也是动态规划的基础题目,估计大家都见过,今天就来复习一下吧~另外下面的做法还会有一些空间上的优化,值得关注若无意外,每天晚上6
随便发挥
·
2020-07-09 06:30
Leetcode
算法
python
编程语言
数据结构
leetcode
【
剑指offer系列
】 圆圈中最后剩下的数字___45
题目描述:把0,1,……,n-1这n个数排成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字。求这个圆圈剩下的最后一个数字示例:输入:n=3,m=2,即把0,1,2这三个数字每次删除第二个,删除的依次为1,0,剩下2输出:2分析:经典解法,用环形链表模拟圆圈。当链表中只有一个节点时,退出。但是这种方法空间复杂度较高更高效的解法,分析其中的数学规律。在n个数字中,第一个被删除的是k=(m-1)
禾夕
·
2020-07-08 10:53
剑指offer
剑指offer系列
:从上往下打印二叉树
描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。代码importjava.util.ArrayList;importjava.util.*;/**publicclassTreeNode{intval=0;TreeNodeleft=null;TreeNoderight=null;publicTreeNode(intval){this.val=val;}}*/publicclassSolut
李亚飞的博客
·
2020-07-07 22:33
剑指offer算法
剑指offer系列
:二叉搜索树的后序遍历序列
描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。代码publicclassSolution{publicbooleanVerifySquenceOfBST(int[]sequence){if(sequence.length==0){returnfalse;}inti=sequence.length-1;r
李亚飞的博客
·
2020-07-07 22:33
剑指offer算法
面试题08_旋转数组的最小数字——
剑指offer系列
题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如:数组{3,4,5,1,2}是数组{1,2,3,4,5}的一个旋转,该数组最小的数是1.我们要做的就是找到这个旋转后数组的最小数。解题思路:思路1:直接遍历数组,找到最小的数,简单粗暴,时间复杂度O(n),空间复杂度O(1)。一般情况下,能够做到思路一的时空复杂
tommyzht
·
2020-07-07 00:21
算法学习
剑指offer系列
-面试题24-反转链表(python)
文章目录1.题目2.解题思路3.代码实现4.总结5.参考文献1.题目定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点(也就是咱常说的单链表逆序),链表节点定义如下:structListNode{intm_nKey;ListNode*m_pNext;}python版classListNode(object):def__init__(self,value,next_node=No
Idea King
·
2020-07-04 11:09
算法
算法
剑指offer
python
面试
剑指offer系列
-面试题22-链表中倒数第k个节点(python)
文章目录1.题目2.解题思路3.代码实现3.1常规思路3.2更优思路4.总结5.参考文献1.题目输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第一个节点。例如,一个链表有6个节点,从头节点开始,他们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。链表的定义如下:structListNode{intm_nValue;
Idea King
·
2020-07-04 11:08
算法
表示数值的字符串 - leetcode
剑指offer系列
题目难度:中等原题链接今天继续更新
剑指offer系列
,这道题虽然难度是中等,但通过率巨低,应该是边界情况比较多的原因.而各种边界条件也是面试比较爱考察的部分,所以很值得一做老样子晚上6点45分准时更新公众号每日精选算法题
随便发挥
·
2020-07-03 17:43
Leetcode
字符串
python
算法
面试
剑指offer系列
-面试题31-栈的压入、弹出序列(python)
文章目录1.题目2.解题思路3.代码实现4.总结5.参考文献1.题目输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列{1,2,3,4,5}是某栈的压栈序列,序列{4,5,3,2,1}是该压栈序列对应的一个弹出序列,但{4,3,5,1,2}就不可能是该压栈序列的弹出序列。2.解题思路多举举例子,找到规律,也就是代码的逻辑。建
Idea King
·
2020-07-01 18:22
算法
剑指offer系列
-面试题30-包含min函数的栈(python)
文章目录1.题目2.解题思路2.1我的思路2.1书中的思路3.代码实现4.总结5.参考文献1.题目定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min、push及pop的时间复杂度都是O(1)。2.解题思路栈的特点是后进先出。push(),将元素压入栈顶pop(),将元素从栈顶弹出2.1我的思路要得出栈中的最小值,那肯定要遍历这个栈中的所有元素,比较大小,记
Idea King
·
2020-07-01 18:22
算法
剑指offer系列
-面试题29-顺时针打印矩阵(python)
文章目录1.题目2.解题思路3.代码实现4.总结5.参考文献1.题目输入一个矩阵,按照从外向里以顺时针的顺序一次打印出每一个数字。例如,如果输入如下矩阵:----12345678910111213141516则依次打印数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。2.解题思路在解决这个问题是会在代码中包含多个循环,并且需要判断多个边界条件。若果吧问题考虑的很清楚
Idea King
·
2020-07-01 18:21
算法
剑指offer系列
-面试题-面试题68 - II. 二叉树的最近公共祖先 (python)
文章目录1.题目2.解题思路3.代码实现3.0路径比较3.1递归4.总结5.参考文献1.题目给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个结点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”2.解题思路详情见面试题68-II.二叉树的最近公共祖先(后序遍历DFS,清晰图解)关
Idea King
·
2020-07-01 18:21
算法
剑指Offer系列
-面试题21:包含min函数的栈
题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数,在该栈中,调用min、push及pop的时间复杂度都是O(1)。思路:建立一个新的栈minStack,每次push的时候,和minStack中的栈顶元素进行比较,如果比栈顶元素小,就入栈,minStack中栈顶元素一直是最小的数。如果pop,如果pop大小和minStack中的栈顶元素大小相同,就也将minStack中的
RojerAlone
·
2020-07-01 07:40
剑指Offer
剑指Offer
剑指offer系列
(9)——二进制中一的个数
题目如下:请实现一个函数,输入一个整数输出该数二进制表示一的个数,例如把9表示成二进制,是1001,有两位是1,因此如果输入就该函数输出2。刚开始看到这个题,我们就很容易想出这样一个方法。我们先判断这个数的从右边数第一位是不是一?这个可以很简单的用这个数与1进行与操作来实现。之后我们将这个数向右移一位。再像刚才一样判断从右边数第二位是不是一,我们可以一直这样循环下去,一直到这个数变为零为止。这种方
xcxy2015
·
2020-07-01 06:33
数据结构与算法
面试字节跳动时,我竟然遇到了原题……
点击上方“五分钟学算法”,选择“星标”公众号重磅干货,第一时间送达今天分享的题目来源于LeetCode上的
剑指Offer系列
面试题07.重建二叉树,近半年在字节跳动算法面试环节出现过高达14次,你很可能遇到过
程序员吴师兄
·
2020-07-01 02:52
一道简简单单的字节跳动算法面试题
点击上方“图解面试算法”,选择“星标”公众号重磅干货,第一时间送达今天分享的题目来源于LeetCode上的
剑指Offer系列
面试题05.替换空格,据官方统计,近半年在字节跳动算法面试中出现过5次。
程序员吴师兄
·
2020-07-01 02:52
剑指offer系列
-面试题43-1~n整数中1出现的次数(python)
文章目录1.题目2.解题思路3.代码实现3.1思路1(递归)3.2思路2(循环)3.3思路33.4思路44.总结5.参考文献1.题目输入一个整数n,求1~n这n个数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1的数字有1,10,11和12,1一共出现了5次。2.解题思路我的思路思路1:第一步:要找到一个数字中有几个1,可以通过求余数,余数为1则有一个1,再求除以10之后的商的
Idea King
·
2020-07-01 01:09
剑指Offer系列
-面试题10:二进制中1的个数
题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制数是1001,有2位是1.因此如果输入9,该函数输出2。#includeusingnamespacestd;intNumberOf1(intn){intnum=0;while(n){++num;n=(n-1)&n;}returnnum;}intmain(){cout<
RojerAlone
·
2020-07-01 00:06
剑指Offer
剑指Offer
面试字节跳动时,我竟然遇到了 LeetCode 原题……
今天分享的题目来源于LeetCode上的
剑指Offer系列
面试题07.重建二叉树,近半年在字节跳动算法面试环节出现过高达14次,你很可能遇到过,它属于中高难度的算法题,今天吴师兄和你一起弄懂!
GitHubDaily
·
2020-07-01 00:53
剑指offer系列
-面试题-15 - 二进制中1的个数 (python)
文章目录1.题目2.解题思路3.代码实现3.14.总结5.参考文献1.题目请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。例如,9表示成二进制是1001,有2位1。因此,如果输入9,则该函数输出2。2.解题思路因为涉及到了二进制,所以使用位运算详细思路移步leetcode面试题15.二进制中1的个数(位运算,清晰图解)3.代码实现3.1classSolution:d
Idea King
·
2020-07-01 00:37
算法
leetcode 105.从前序与中序遍历序列构造二叉树 python
剑指offer系列
4 面试题07. 重建二叉树
leetcode105.从前序与中序遍历序列构造二叉树题目描述题解题目描述题解思路:首先要了解前序遍历preorder(根左右),中序遍历inorder(左根右)。所以想到,整个树的根节点肯定就是preorder的第一个数—>[根|左右]。确定了整个树的根之后,看到中序遍历,咦,不久能把左子树的点和右子树的点切开了吗?---->[左|根|右](注意题目有个说明,树中没有重复的元素)。到这里,已经得
梦想是吃不完的格力高
·
2020-06-30 04:24
刷题
牛客-
剑指offer系列
题解:链表中环的入口结点
记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。2、数据结构:链表3、题解:快慢指针先判断是否有环(如果有环,此时:假设慢指针走了L距离,则快指针走了2L的距离。假设开头到环入口的距离为s,环入口到相遇点距离为d,相遇点到环入口为h,则L=s+d,2L=s+d
剑圣土豆
·
2020-06-29 03:40
牛客-剑指offer系列题解
牛客-
剑指offer系列
题解:孩子们的游戏(圆圈中最后剩下的数)
记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱
剑圣土豆
·
2020-06-29 03:40
牛客-剑指offer系列题解
牛客-
剑指offer系列
题解:删除链表的节点
记录刷题的过程。牛客和力扣中都有相关题目,此篇博客是力扣的题目描述。该系列默认采用python语言。1、问题描述:2、数据结构:链表3、题解:双指针#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,x):#self.val=x#self.next=NoneclassSolution:defdeleteNode(self
剑圣土豆
·
2020-06-29 03:40
牛客-剑指offer系列题解
牛客-
剑指offer系列
题解:数组中重复的数字(提供了三种方法)
记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。2、数据结构:数组3、题
剑圣土豆
·
2020-06-29 03:40
牛客-剑指offer系列题解
牛客-
剑指offer系列
题解:二叉搜索树与双向链表
记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。2、数据结构:二叉搜索树3、题解:二叉搜索树的中序遍历是有序的。#-*-coding:utf-8-*-#classTreeNode:#def__init__(self,x)
剑圣土豆
·
2020-06-29 03:40
牛客-剑指offer系列题解
牛客-
剑指offer系列
题解:二叉树中和为某一值的路径
记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。2、数据结构:二叉树,深度优先搜索,回溯法3、题解:用先根遍历的方法,递归结束的条件是到达叶子节点,且路径上的值之和为所给整数(这个变通一
剑圣土豆
·
2020-06-29 03:40
牛客-剑指offer系列题解
牛客-
剑指offer系列
题解:删除链表中重复的结点
记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。例如,链表1->2->3->3->4->4->5处理后为1->2->52、数据结构:链表3、题解:双指针,需要注意的是删除的是所有的重复的节点(不保留下重复的节点)1).首先添加一个头节点,
剑圣土豆
·
2020-06-29 03:09
牛客-剑指offer系列题解
牛客-
剑指offer系列
题解:二进制中1的个数
记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。2、数据结构:位运算3、题解:方法1:转化为字符串#-*-coding:utf-8-*-classSolution:defNumberOf1(self,n):#writecodeheren=0xFFFFFFFF&ncoun
剑圣土豆
·
2020-06-29 03:09
牛客-剑指offer系列题解
牛客-
剑指offer系列
题解&LeedCode字节跳动企业面试题库之一:反转链表
1、问题描述:输入一个链表,反转链表后,输出新链表的表头。2、数据结构:链表3、题解:方法1:双指针法反转需要两步,第一步找到它的结点,第二步改变结点就可以了;之后需要把结点赋值为这个元素的本身;循环:找到元素结点指向的元素,目标是让元素结点指向的元素改为自己本身。#-*-coding:utf-8-*-#classListNode:#def__init__(self,x):#self.val=x#
剑圣土豆
·
2020-06-29 03:08
牛客-剑指offer系列题解
牛客-
剑指offer系列
题解:从尾到头打印链表(python语言)
记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。2、所用数据结构:数组3、题解:方法一:用数组返回相反序列的链表,使用insert方法#-*-coding:utf-8-*-#classListNode:#def__init__(self,x):#self.val=x#se
剑圣土豆
·
2020-06-29 03:08
牛客-剑指offer系列题解
牛客-
剑指offer系列
题解:把字符串转化成整数
记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)2、数据结构:字符串3、题解:考虑多种情况,空串,负值,越界,非法字符串
剑圣土豆
·
2020-06-29 03:08
牛客-剑指offer系列题解
牛客-
剑指offer系列
题解:链表中倒数第k个节点
记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入一个链表,输出该链表中倒数第k个结点。2、数据结构:链表3、题解:快慢指针#-*-coding:utf-8-*-#classListNode:#def__init__(self,x):#self.val=x#self.next=NoneclassSolution:defFindKt
剑圣土豆
·
2020-06-29 03:08
牛客-剑指offer系列题解
牛客-
剑指offer系列
题解:两个链表的第一个公共结点
记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)2、数据结构:链表3、题解:双指针法:先找出一个链表1比链表2多出的K值,然后让链表1多走K,再循环比较大小#-*-coding:utf-8-*-#clas
剑圣土豆
·
2020-06-29 03:08
牛客-剑指offer系列题解
牛客-
剑指offer系列
题解&LeedCode字节跳动企业面试题库之一:合并两个排序的链表(字节跳动实习面试真题)
2020.4.17参加面试时遇到该题,现总结如下:可对比合并两个有序数组1、问题描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。2、数据结构:链表3、题解:根据题目描述,链表l1,l2是递增的,因此容易想到使用双指针l1和l2遍历两链表,根据l1.vall和l2.vall的大小关系确定节点添加顺序,两节点指针交替前进,直至遍历完毕。引入伪头节点:由
剑圣土豆
·
2020-06-29 03:08
牛客-剑指offer系列题解
剑指offer系列
——替换空格
前言刷题平台:牛客网语言:C++题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为WeAreHappy.则经过替换之后的字符串为We%20Are%20Happy。1、思路最简单的方法就是从头到尾遍历,但是时间复杂度为O(n^2)。本文采用一种时间复杂度为O(n)的方法。我们可以先遍历一次字符串,这样就可以统计出字符串空格的总数,并可以由此计算出替换之后的字符串的总长
小武~~
·
2020-06-29 00:45
【剑指offer】
剑指offer系列
之六十三:滑动窗口的最大值
题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5};针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个:{[2,3,4],2,6,2,5,1},{2,[3,4,2],6,2,5,1},{2,3,[4,2,6],2,5,1},{
weixin_33806914
·
2020-06-28 05:14
剑指offer面试题39:数组中出现次数超过一半的数字
categories:[计算机通识,数据结构与算法,
剑指offer系列
]thumbnail:/images/fe/offer.jpgtoc:true剑指offer面试题39:数组中出现次数超过一半的数字数组中有一个数字出现的次数超过数组长度的一半
Aurora-zxh
·
2020-06-27 02:40
剑指offer系列
(41):和为s的连续正数序列
题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列?GoodLuck!输出描述输出所有和为S的连续正数序列。序列内按照从小
sun10081
·
2020-06-26 15:58
刷题之剑指offer
剑指offer系列
(47):求1+2+3+...+n
题目描述求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。样例输入5输出15思路分析方法一:利用Math类的api实现n(n+1),即Math.pow(n,2)+n方法二:利用递归,达到循环1+2+...+n的效果,异常处理来结束递归方法三:同样是递归,利用短路&&来实现if的功能,结束递归方法四:利用位运
sun10081
·
2020-06-26 15:27
刷题之剑指offer
python
剑指offer系列
二叉搜索树的第k个结点
题目:给定一颗二叉搜索树,请找出其中的第k大的结点。例如,5/\37/\/\2468中,按结点数值大小顺序第三个结点的值为4。思路:中序遍历的二叉搜索树就是排序的代码:#-*-coding:utf-8-*-#classTreeNode:#def__init__(self,x):#self.val=x#self.left=None#self.right=NoneclassSolution:#返回对应
shizhengxin123
·
2020-06-26 09:03
数据结构
剑指Offer系列
--面试题:顺时针打印矩阵
剑指Offer(十九):顺时针打印矩阵题目输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵:则依次打印出数组:1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。解题思路将结果存入vector数组,从左到右,再从上到下,再从右到左,最后从下到上遍历。C++classSolution{public:vectorprintMatrix(ve
Mr.Jk.Zhang
·
2020-06-24 15:44
LeetCode
牛客网刷题
剑指 offer 面试题精选图解 03 . 数组中重复的数字
今天分享的题目来源于LeetCode上的
剑指Offer系列
面试题03.数组中重复的数字。
程序员吴师兄
·
2020-06-24 00:06
【
剑指Offer系列
54】二叉搜索树的第k大节点
文章目录题目代码PythonC++题目给定一棵二叉搜索树,请找出其中第k大的节点。示例1:输入:root=[3,1,4,null,2],k=13/142输出:4示例2:输入:root=[5,3,6,2,4,null,null,1],k=35/36/24/1输出:4限制:1≤k≤二叉搜索树元素个数代码Python#Definitionforabinarytreenode.#classTreeNode
小陈说CV
·
2020-06-22 22:06
剑指Offer
Leetcode
剑指offer系列
-平衡二叉树
这里写自定义目录标题平衡二叉树分析平衡二叉树传送门:https://leetcode-cn.com/problems/ping-heng-er-cha-shu-lcof/输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。示例1:给定二叉树[3,9,20,null,null,15,7]3/920/157返回true。示例2
chenming1900
·
2020-06-22 22:33
剑指offer系列
-面试题67. 把字符串转换成整数 (python)
文章目录1.题目2.解题思路3.代码实现3.1渣渣的3.1大佬的4.总结5.参考文献1.题目写一个函数StrToInt,实现把字符串转换成整数这个功能。不能使用atoi或者其他类似的库函数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是
Idea King
·
2020-06-22 17:05
算法
剑指offer系列
-面试题35-复杂链表的复制(python)
文章目录1.题目2.解题思路2.1思路12.2思路22.3思路33.代码实现3.1思路1(O(n^2))3.2思路23.3思路34.总结5.参考文献1.题目请实现函数clone_complex_list()复制一个复杂链表。在复杂链表中,每个节点除了有一个m_pNext指针指向下一个节点,还有一个m_sibling指针指向链表中的任意节点或者nullptr。节点的c++定义如下:structCom
Idea King
·
2020-06-22 17:05
算法
剑指offer系列
-面试题40-最小的k个数(python)
文章目录1.题目2.解题思路3.代码实现3.1思路13.2思路23.3思路34.总结5.参考文献1.题目输入n个整数,找出其中最小的k个数。例如,输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。2.解题思路我的思路看到这个题目之后,我有两个思路:思路1:(若要求数字不重复的话,才用的上这一步)对这n个整数先去重,然后对去重后的数字升序排序,获取前k个数字。但是这种算
Idea King
·
2020-06-22 17:34
算法
剑指offer系列
-面试题36-二叉搜索树与双向链表(python)
文章目录1.题目2.解题思路3.代码实现当last是不可变对象时:当last是可变对象时:4.总结5.参考文献1.题目输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表,要求不能创建任何新的节点,只能调整树种节点指针的指向。比如,输入图中二叉搜索树,则输出转换之后的排序双向链表。二叉树节点的定义如下:structBinaryTreeNode{intm_nValue;BinaryTreeNo
Idea King
·
2020-06-22 17:34
算法
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他