随笔分类 -  剑指offer笔记

摘要:剑指 Offer 32 - III. 从上到下打印二叉树 III 地址:剑指 Offer 32 - III. 从上到下打印二叉树 III 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 例如: 给 阅读全文
posted @ 2021-01-07 18:47 ganshuoos 阅读(72) 评论(0) 推荐(0)
摘要:剑指 Offer 32 - II. 从上到下打印二叉树 II 地址:剑指 Offer 32 - II. 从上到下打印二叉树 II 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / 9 20 / 阅读全文
posted @ 2021-01-07 18:42 ganshuoos 阅读(45) 评论(0) 推荐(0)
摘要:剑指 Offer 32 - I. 从上到下打印二叉树 地址:剑指 Offer 32 - I. 从上到下打印二叉树 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回: [3 阅读全文
posted @ 2021-01-05 16:06 ganshuoos 阅读(58) 评论(0) 推荐(0)
摘要:剑指 Offer 31. 栈的压入、弹出序列 地址:剑指 Offer 31. 栈的压入、弹出序列 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该 阅读全文
posted @ 2021-01-05 15:54 ganshuoos 阅读(51) 评论(0) 推荐(0)
摘要:剑指 Offer 30. 包含min函数的栈 地址:剑指 Offer 30. 包含min函数的栈 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。 示例: MinStack minStack = ne 阅读全文
posted @ 2021-01-04 23:48 ganshuoos 阅读(96) 评论(0) 推荐(0)
摘要:剑指 Offer 28. 对称的二叉树 地址:剑指 Offer 28. 对称的二叉树 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / 2 2 / \ / 3 4 4 3 但是下面这个 [ 阅读全文
posted @ 2020-12-26 22:22 ganshuoos 阅读(89) 评论(0) 推荐(0)
摘要:剑指 Offer 27. 二叉树的镜像 地址:剑指 Offer 27. 二叉树的镜像 问题描述: 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 例如输入: 4 / 2 7 / \ / 1 3 6 9 镜像输出: 4 / 7 2 / \ / 9 6 3 1 示例 1: 输入:root = [4 阅读全文
posted @ 2020-12-26 22:20 ganshuoos 阅读(62) 评论(0) 推荐(0)
摘要:剑指 Offer 26. 树的子结构 地址:剑指 Offer 26. 树的子结构 问题描述: 输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如: 给定的树 A: 3 / \ 4 5 / 1 2 给定的树 阅读全文
posted @ 2020-12-26 22:17 ganshuoos 阅读(78) 评论(0) 推荐(0)
摘要:剑指 Offer 25. 合并两个排序的链表 地址:剑指 Offer 25. 合并两个排序的链表 问题描述: 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例1: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 限制: 0 ⇐ 链表长度 阅读全文
posted @ 2020-12-25 17:42 ganshuoos 阅读(59) 评论(0) 推荐(0)
摘要:剑指 Offer 24. 反转链表 地址:剑指 Offer 24. 反转链表 问题描述: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 限制: 0 ⇐ 节点个数 ⇐ 5 阅读全文
posted @ 2020-12-25 17:39 ganshuoos 阅读(46) 评论(0) 推荐(0)
摘要:剑指 Offer 22. 链表中倒数第k个节点 地址:剑指 Offer 22. 链表中倒数第k个节点 问题描述: 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、 阅读全文
posted @ 2020-12-25 17:35 ganshuoos 阅读(50) 评论(0) 推荐(0)
摘要:剑指 Offer 20. 表示数值的字符串 地址:剑指 Offer 20. 表示数值的字符串 问题描述: 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、"5e2"、"-123"、"3.1416"、"-1E-16"、"0123"都表示数值,但"12e"、"1a3 阅读全文
posted @ 2020-12-25 00:24 ganshuoos 阅读(93) 评论(0) 推荐(0)
摘要:剑指 Offer 51. 数组中的逆序对 地址:剑指 Offer 51. 数组中的逆序对 问题描述: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1: 输入: [7,5,6,4] 输出: 5 限制: 0 ⇐ 数组 阅读全文
posted @ 2020-12-23 23:02 ganshuoos 阅读(68) 评论(0) 推荐(0)
摘要:剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 地址:剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 问题描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 示例: 输入:nums = [1,2,3,4] 阅读全文
posted @ 2020-12-22 19:02 ganshuoos 阅读(46) 评论(0) 推荐(0)
摘要:剑指 Offer 19. 正则表达式匹配 地址:剑指 Offer 19. 正则表达式匹配 问题描述: 请实现一个函数用来匹配包含'. '和''的正则表达式。模式中的字符'.'表示任意一个字符,而''表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串 阅读全文
posted @ 2020-12-19 21:18 ganshuoos 阅读(72) 评论(0) 推荐(0)
摘要:剑指 Offer 18. 删除链表的节点 地址:剑指 Offer 18. 删除链表的节点 问题描述: 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 返回删除后的链表的头节点。 注意:此题对比原题有改动 示例 1: 输入: head = [4,5,1,9], val = 5 输 阅读全文
posted @ 2020-12-19 21:15 ganshuoos 阅读(89) 评论(0) 推荐(0)
摘要:剑指 Offer 17. 打印从1到最大的n位数 地址:剑指 Offer 17. 打印从1到最大的n位数 问题描述: 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n = 1 输出: [1,2,3 阅读全文
posted @ 2020-12-19 21:13 ganshuoos 阅读(73) 评论(0) 推荐(0)
摘要:剑指 Offer 16. 数值的整数次方 地址:剑指 Offer 16. 数值的整数次方 问题描述: 实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。 示例 1: 输入: 2.00000 阅读全文
posted @ 2020-12-18 19:09 ganshuoos 阅读(77) 评论(0) 推荐(0)
摘要:剑指 Offer 15. 二进制中1的个数 地址:剑指 Offer 15. 二进制中1的个数 问题描述: 请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。 示例 1: 输 阅读全文
posted @ 2020-12-17 18:10 ganshuoos 阅读(75) 评论(0) 推荐(0)
摘要:剑指 Offer 14- II. 剪绳子 II 地址:剑指 Offer 14- II. 剪绳子 II 问题描述: 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m - 1] 。请问 k[0]k[1].. 阅读全文
posted @ 2020-12-17 18:07 ganshuoos 阅读(57) 评论(0) 推荐(0)