摘要:题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路 基础题,就是按照两个链表中小的节点,插入新的链表,将位置移到下一个。在一个链表结束后要判断另一个链表是否还有,有的花直接加入即可。 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们
阅读全文
摘要:题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0 思路: 简单版(暴力法):给定一个指数,循环和底数相乘得出结果。在该方法中,有个问题需要考虑,就是判断指数为正负的问题,当指数为负时,需要
阅读全文
摘要:题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路描述 在十进制转换二进制的过程中,每次将该数对2取余,用作二进制序列。同时将该数除以2,更新次数,循环操作直到商为零时停止。 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路描述 在十进制转换二进制
阅读全文
摘要:题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?(本题跟t跳台阶原理类似,都是通过之前的策略得到现在的) class Solution: def rectCover(self, number): # write
阅读全文
摘要:题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法? 如果只有1级台阶,那显然只有一种跳法 如果有2级台阶,那么就有2种跳法,一种是分2次跳。每次跳1级,另一种就是一次跳2级 如果台阶级数大于2,设为n的话,这时我们把n级台阶时的跳法看成n的函数,记为,第一次跳的时候有2种不同的选择:一是第一次跳一级,此时跳法的数目等于后面剩下的n-1级台阶的跳法...
阅读全文
摘要:def GetNext(self, pNode): # write code here if not pNode: return pNode if pNode.right: left1=pNode.right while left1.left: ...
阅读全文
摘要:思路:(转) 代码: # -*- coding:utf-8 -*-class Solution: stack1 = [] stack2 = [] def push(self, node): self.stack1.append(node) def pop(self): if len(self.sta
阅读全文
摘要:思路:在数据结构中,有一个条件反射,谈及二叉树,就递归。所以在实现重建二叉树时,也应该用到递归的思想。 在前序遍历中,根节点处于第一个;在中序遍历中,根节点的左边为左子树节点,根节点右边为右子树节点。 根据性质构造根节点。 1、取出前序遍历的第一个节点作为根节点 2、在中序遍历中按照根节点分割左子树
阅读全文
摘要:思路:相当于数据结构中的链表就地逆置,可以使用头插法来实现。 代码: class Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3] def printListFromTailToHead(self, listNode): # write code here l = [] he
阅读全文
摘要:思路:Python列表中实现字符串的替换,涉及到频繁的插入操作,在数据结构中线性表分为顺序表和链表,顺序表的适合频繁的查询,链表适合频繁的插入和删除。综上所述,本题使用链表来实现。 我们从字符串的后面开始复制和替换,设置P1和P2指针,其中P1指向原来字符串的尾部,P2指向替换后字符串的尾部。移动P
阅读全文
摘要:题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路:本题中的二维数组从左到右,从上到下依次递增,即每一行的最后一个数字为最大,每一列的最下数字为最
阅读全文
摘要:题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 知识点:查找(二分查
阅读全文