2018年10月29日

剑指offer---包含min函数的栈

摘要: 题目:包含min函数的栈 要求:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 解题代码: 阅读全文

posted @ 2018-10-29 17:12 wangzhch 阅读(137) 评论(0) 推荐(0) 编辑

剑指offer---顺时针打印矩阵

摘要: 题目:顺时针打印矩阵 要求:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下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. 阅读全文

posted @ 2018-10-29 16:42 wangzhch 阅读(181) 评论(0) 推荐(0) 编辑

剑指offer---二叉树的镜像

摘要: 题目:二叉树的镜像 要求:操作给定的二叉树,将其变换为源二叉树的镜像。 解题代码: 阅读全文

posted @ 2018-10-29 13:29 wangzhch 阅读(123) 评论(0) 推荐(0) 编辑

剑指offer---树的子结构

摘要: 题目:树的子结构 要求:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解题代码: 阅读全文

posted @ 2018-10-29 11:40 wangzhch 阅读(186) 评论(0) 推荐(0) 编辑

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

摘要: 问题:合并两个排序的链表 要求:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路: 采用两个指针指向两链表,比较指针节点的大小,值较小的节点肯定需要放到靠前的位置,同时指针指向下一个节点; 解题代码: 递归版: 非递归版: 阅读全文

posted @ 2018-10-29 10:42 wangzhch 阅读(236) 评论(0) 推荐(0) 编辑

剑指offer---链表中环的入口结点

摘要: 题目:链表中环的入口结点 要求:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 解题代码: 阅读全文

posted @ 2018-10-29 09:16 wangzhch 阅读(177) 评论(0) 推荐(0) 编辑

2018年10月28日

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

摘要: 题目:调整数组顺序使奇数位于偶数前面 要求:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 * 注意:剑指offer中的面试题21 和 牛客网的题目要求不一样,区别在于下划线部分 阅读全文

posted @ 2018-10-28 17:13 wangzhch 阅读(178) 评论(0) 推荐(0) 编辑

剑指offer---表示数值的字符串

摘要: 题目:表示数值的字符串 要求:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 解题代码:【参考高赞 阅读全文

posted @ 2018-10-28 15:04 wangzhch 阅读(110) 评论(0) 推荐(0) 编辑

剑指offer---正则表达式匹配

摘要: 题目:正则表达式匹配 要求:请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a 阅读全文

posted @ 2018-10-28 11:44 wangzhch 阅读(208) 评论(0) 推荐(0) 编辑

2018年10月27日

strcpy函数的实现

摘要: 本文转自:Norcy https://www.cnblogs.com/chenyg32/p/3739564.html (欢迎阅读原文,侵删) 已知strcpy函数的原型是: char *strcpy(char *dst, const char *src); 1.strcpy的实现代码 [1]cons 阅读全文

posted @ 2018-10-27 19:20 wangzhch 阅读(4767) 评论(0) 推荐(0) 编辑

剑指offer---删除链表中重复的结点

摘要: 题目:删除链表中重复的结点 要求:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 关键点: (1)若链表前两个节点是重复的,一定需要维护头指针,否则,无需维护头指针; 如: 阅读全文

posted @ 2018-10-27 17:25 wangzhch 阅读(183) 评论(0) 推荐(0) 编辑

2018年10月25日

剑指offer---机器人的运动范围

摘要: 题目:机器人的运动范围 要求:地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(3 阅读全文

posted @ 2018-10-25 23:17 wangzhch 阅读(168) 评论(0) 推荐(0) 编辑

剑指offer---矩阵中的路径

摘要: 题目:矩阵中的路径 要求:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下 移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s 阅读全文

posted @ 2018-10-25 22:16 wangzhch 阅读(403) 评论(0) 推荐(0) 编辑

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

摘要: 题目:二进制中1的个数 要求:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 解题代码: 阅读全文

posted @ 2018-10-25 11:03 wangzhch 阅读(101) 评论(0) 推荐(0) 编辑

剑指offer---旋转数组的最小数字

摘要: 题目:旋转数组的最小数字 要求:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请 阅读全文

posted @ 2018-10-25 09:23 wangzhch 阅读(123) 评论(0) 推荐(0) 编辑

导航