摘要: 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 注意:保证测试中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。 思路 一个比较自然的思路就是定义一个变量保存最小元素,当调用min()的时候返回该元素即可。但是 阅读全文
posted @ 2020-03-11 22:30 Flix 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 思路 将矩阵按照从外向里以顺时针的顺序依次打印出每一个数字,就是从外向里一圈一圈地打印数字。例如,对上面的矩阵来说,矩阵形状为4x4,共打印2圈:第一圈起始于坐标(0,0),值为1;第二圈起始于坐标(1,1),值为6. 对一个 阅读全文
posted @ 2020-03-11 21:56 Flix 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 思路 前序遍历的顺序是根结点、左子节点、右子结点。把顺序为根结点、右子结点、左子节点的遍历称为“反前序遍历”。如果一棵树的前序遍历序列和反前序遍历序列相同,那么这棵树就是对称的。 阅读全文
posted @ 2020-03-10 22:55 Flix 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 思路 将二叉树的每个子树的左右节点交换位置就可以得到二叉树的镜像,由于每一层的树操作都是一样的,所以使用递归求解。 代码如下: 阅读全文
posted @ 2020-03-10 22:23 Flix 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 问题描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路 首先判断A和B的根是否相同,如果不同的话,将A的左子树和右子树再与B做判断;如果相同的话,则判断子树是否相同:比较每个节点,有一个不相同则不相同。代码如下: 阅读全文
posted @ 2020-03-09 21:54 Flix 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路1 可以使用循环来做。首先要确定合并后链表的头。如果第一个链表为空,则合并后的链表就是第二个链表;同样地,如果第二个链表为空,则合并后的链表就是第一个链表;如果两个链表均不为空,则合并后的链表 阅读全文
posted @ 2020-03-09 21:27 Flix 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个链表,反转链表后,输出新链表的表头。 思路 一个比较经典的题目。要维护3个指针:当前结点的指针curNode、当前结点的前一个结点的指针preNode和当前结点的下一个结点的指针nextNode。首先使用nextNode保存curNode的下一个结点地址,不然链表会断掉,然后将cu 阅读全文
posted @ 2020-03-09 20:34 Flix 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路1 首先要判断链表中有没有环:可以利用两个指针,初始都在head,一个指针移动的比较快(一次移动两个节点),另一个指针移动的比较慢(一次移动一个节点),如果两个节点最终相遇了,则说明链表中存在环;如果快指针的下 阅读全文
posted @ 2020-03-09 17:37 Flix 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 注:这个题在书中没有要求奇数和奇数,偶数和偶数之间的相对位置不变。 思路1 遍历整个数组,当遇到偶数时,将该偶数后面的数 阅读全文
posted @ 2020-03-09 12:25 Flix 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2"," 123","3.1416"和" 1E 16"都表示数值。 但是"12e","1a3.14","1.2.3","+ 5"和"12e+4.3"都不是。 思路 最复杂的数值表示 123.456e 阅读全文
posted @ 2020-03-08 23:25 Flix 阅读(133) 评论(0) 推荐(0) 编辑