随笔分类 -  剑指offer

算法题练习
摘要:剑指 Offer 24. 反转链表 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 限制: 0 ⇐ 节点个数 ⇐ 5000 一、迭代 算法思路: 首先把cur设置到头节点 阅读全文
posted @ 2021-08-06 17:42 RainsX 阅读(30) 评论(0) 推荐(0)
摘要:剑指 Offer 15. 二进制中1的个数 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为 汉明重量).)。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不 阅读全文
posted @ 2021-08-05 17:48 RainsX 阅读(39) 评论(0) 推荐(0)
摘要:剑指 Offer 17. 打印从1到最大的n位数 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n = 1 输出: [1,2,3,4,5,6,7,8,9] 说明: 用返回一个整数列表来代替打印 n 阅读全文
posted @ 2021-08-04 23:00 RainsX 阅读(48) 评论(0) 推荐(0)
摘要:剑指 Offer 22. 链表中倒数第k个节点 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。 阅读全文
posted @ 2021-08-03 21:54 RainsX 阅读(57) 评论(0) 推荐(0)
摘要:剑指 Offer 29. 顺时针打印矩阵 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2: 输入:matrix = [[1,2,3,4],[ 阅读全文
posted @ 2021-08-02 21:47 RainsX 阅读(34) 评论(0) 推荐(0)
摘要:剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 示例: 输入:nums = [1,2,3,4] 输出:[1,3,2,4] 注:[3,1,2,4] 也是正确的答案之一。 提示 阅读全文
posted @ 2021-08-01 15:35 RainsX 阅读(38) 评论(0) 推荐(0)
摘要:剑指 Offer 28. 对称的二叉树 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 /\ /\ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 阅读全文
posted @ 2021-08-01 00:49 RainsX 阅读(28) 评论(0) 推荐(0)
摘要:剑指 Offer 27. 二叉树的镜像 题目介绍:请完成一个函数,输入一个二叉树,该函数输出它的镜像。 例如输入: 4 / 2 7 / \ / 1 3 6 9 镜像输出: 4 / 7 2 / \ / 9 6 3 1 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2, 阅读全文
posted @ 2021-07-31 19:34 RainsX 阅读(41) 评论(0) 推荐(0)