摘要:
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 一 . 题目该怎么想 1 . 定义栈的数据结构;实现Push、Pop、Top、Min方法;时间复杂度为O(1) 。 思路:定义两个栈。一个存储栈,一个辅助栈。 Push方法:1. 存储栈 阅读全文
摘要:
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 一 . 概念! 首先要理解栈和队列的概念。 1. 栈:咱可以简单的把栈理解成装羽毛球的球桶、或者我们吃的桶装可比克薯片。为啥这么说呢,因为这两样东西都遵循着一个规律,即先进后出的规律,通俗解释一下:羽毛球 阅读全文
摘要:
题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 一 . 自己的想法 老实说,貌似直接可以实现。。代码如下: class Solution { public string repl 阅读全文
摘要:
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 一 . 解题思路 该题目有两个重要条件!该数组从左到右以及从上到下均为递增,这样我们可以在右上或 阅读全文
摘要:
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 一 . 二叉树的概念 树形结构是一种典型的非线性结构,除了用于表示相邻关系外,还可以表示层次关系。每个结点最多有两棵子树。左子树和右子树是有顺序的,次序不能任意颠倒。即使树中某结点只有一棵子树,也要 阅读全文
摘要:
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 一 . 题目分析 根据题意,可得出,该题目要求两个单增的链表合成一条单增的链表。 链表一:1→5→9→11 链表二:2→4→10→12 新链表为:1→2→4→5→9→10→11→12 二 . 解题 阅读全文
摘要:
题目描述 输入一个链表,反转链表后,输出新链表的表头。 一 . 概念普及 关于线性表等相关概念请点击这里。 二 . 实现方法 目前,可以有两种方法实现该要求。 方法一:借助外部空间实现。这里可以将单链表储存为数组,然后按照数组的索引逆序进行反转。此处,可理解为将链表装换为顺序表,然后把队伍方向反转, 阅读全文
摘要:
题目描述 输入一个链表,输出该链表中倒数第k个结点。 一 . 数据结构基础概念普及(线性表)。 线性表可分为顺序表与链表,它们是堆栈、队列、树、图等数据结构的实现基础。 顺序表,线性表的顺序存储结构是指:用一块地址连续的存储空间依次存储线性表中的数据元素。他在逻辑上相邻的元素在物理上也是相邻的。什么 阅读全文