狼哥空间

虚怀若谷,求知若渴


  • Home

  • Tags

  • Categories

  • Archives

  • Search

剑指17-树的子结构

Posted on 2019-09-12 | In 剑指offer |
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 非递归版本 首先遍历A,对其每个节点node用check函数判断其能否对应B的根节点rB,并且B是A的子结构。 check函数,遍历B,并以B为标准从rB和node核对,B有的结构A也要有,对应 ...
Read more »
@gitRepo

剑指16-合并两个排序的链表

Posted on 2019-09-12 | In 剑指offer |
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 首先一个辅助节点ListNode(0) 以及,两个指针,一个用来返回合成后的链表的表头,一个用来辅助合成链表。 123456789101112131415161718192021class ...
Read more »
@gitRepo

剑指15-反转链表

Posted on 2019-09-12 | In 剑指offer |
题目描述 输入一个链表,反转链表后,输出新链表的表头。 链表的准备,构建四个节点的单链表,表头是phead: 123456789101112class Node: def __init__(self, val): self.val = val self.next = ...
Read more »
@gitRepo

剑指14-链表中倒数第k个结点

Posted on 2019-09-12 | In 剑指offer |
题目描述 输入一个链表,输出该链表中倒数第k个结点。 辅助指针 从头到尾遍历链表,辅助指针总是指向当前访问节点的之前的第k个节点。 1234567891011121314class Solution: def FindKthToTail(self, head, k): # wr ...
Read more »
@gitRepo

剑指13-调整数组顺序使奇数位于偶数前面

Posted on 2019-09-12 | In 剑指offer |
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 辅助数组法 遍历一次数组,将其中的奇数和偶数分别摘出来放在两个辅助数组里,再将辅助数组合并。 123456789101 ...
Read more »
@gitRepo

剑指12-数值的整数次方

Posted on 2019-09-12 | In 剑指offer |
题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 负幂转为正幂,便于操作。方法:对于a的b次幂a**b,如果b<0,则a**b等价于(1.0/a)**(-b)。 提高效率,有公式:a**(2b)=(a**b)**2, ...
Read more »
@gitRepo

剑指11-二进制中1的个数

Posted on 2019-09-12 | In 剑指offer |
题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 整型数占4个字节 负数的补码,等于其相反数的所有二进制位取反,然后加1。 位移运算子特性: 负数的补码最高位1,右移则在最高位补1而不是0。因此负数时要限定位移运算子使用次数。 12345678910class S ...
Read more »
@gitRepo

剑指10-矩形覆盖

Posted on 2019-09-12 | In 剑指offer |
题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 按第一个小矩形靠近一端的摆放方式,可以分为互斥且互补的两个空间: 横放,有F(n-2)种方法 竖放,有F(n-1)种方法 因此有F(n) = F(n-1 ...
Read more »
@gitRepo
<1…789…11>

88 posts
7 categories
17 tags
RSS
GitHub E-Mail
© 2025 狼哥空间