随笔分类 - 剑指offer编程题
摘要:题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 1 class Solution: 2 # 返回镜像树的根节点 3 def Mirror(self, root): 4 # write code here 5 if root==None: 6 return None 7 #处理根节点 8 ro
阅读全文
摘要:题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 1 class Solution: 2 def HasSubtree(self, pRoot1, pRoot2): 3 # write code here 4 if pRoot1==None or
阅读全文
摘要:题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 1 class Solution: 2 # 返回合并后列表 3 def Merge(self, pHead1, pHead2): 4 # write code here 5 dummy =p =
阅读全文
摘要:题目描述 输入一个链表,反转链表后,输出新链表的表头。 牛客网是没有头结点的,即第一个节点就是有值的 所以 1 class Solution: 2 # 返回ListNode 3 def ReverseList(self, pHead): 4 if pHead==None or pHead.next=
阅读全文
摘要:题目描述 输入一个链表,输出该链表中倒数第k个结点。 无力吐槽牛客网。。。 1 class Solution: 2 def FindKthToTail(self, head, k): 3 # write code here 4 f=p=head 5 while f and k>0: 6 f=f.ne
阅读全文
摘要:题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 方法1:冒泡 O(N^2) 1 # -*- coding:utf-8 -*- 2 class Solution: 3 d
阅读全文
摘要:题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0 class Solution: def Power(self, base, exponent): # write code here i
阅读全文
摘要:题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。(这里只取前32位) -2的补码为:先求-2的反码 10000.。。10 -》 11111.。。01 再求补码,即反码末尾加1:111.。。10 方法1: 1 # -*- coding:utf-8 -*- 2 class So
阅读全文
摘要:题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 分析: 当n==0时return0 n==1时只有一种 return1 当n==2时 有两种 return2 重点来了,n==3时 f(3)=f(2)+f(1)
阅读全文
摘要:题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 从斐波那契找规律,结果,变成了这个规律。。。。。无语 1 class Solution: 2 def jumpFloorII(self, number): 3 # write c
阅读全文
摘要:题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 # -*- coding:utf-8 -*- class Solution: def Fibonacci(self, n): # write code here if n =
阅读全文