摘要:
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 思路 定义两个栈,一个保存正常的数据,另一个用来记录当前的最小元素 代码 # -*- coding:utf-8 -*- class Solution: def __init__(self 阅读全文
摘要:
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 思路 分别给行和列 阅读全文
摘要:
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 思路 用递归的方法,根节点不变,左子右子交换即可,然后分别递归左右子 代码 # 阅读全文
摘要:
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路 首先遍历a树,找和b树根结点值相等的结点,找到后判断是不是子树。 判断是不是子树的时候,用递归的方法,判断根节点,再判断左子右子。 代码 # -*- coding:utf-8 -*- # cl 阅读全文
摘要:
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路 分别给两个链表定义一个当前结点的指针,比较两个结点大小,把小的一个几点加入到最后的结果中,如果其中一个链表遍历到头了,就把另外那个链表再加入到最后的结果当中 代码 # -*- coding: 阅读全文