摘要:习题地址 https://www.acwing.com/problem/content/description/21/ 题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。 路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。 如
阅读全文
摘要:习题地址 https://www.acwing.com/problem/content/description/86/ 题目描述给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 样例 算法1除开各种技巧解答 本文采取比较中规中矩的解法开启一个SET记录找到的节点 方
阅读全文
摘要:习题地址 https://www.acwing.com/solution/acwing/content/2997/ 题目描述输入一个链表,输出该链表中倒数第k个结点。 注意: k >= 0;如果k大于链表长度,则返回 NULL; 样例 算法1除开大佬说的遍历链表两次 也可以开一个数组记录链表的元素地
阅读全文
摘要:习题地址 https://www.acwing.com/solution/acwing/content/2970/ 题目描述地上有一个 m 行和 n 列的方格,横纵坐标范围分别是 0∼m−1 和 0∼n−1。 一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格。 但是不
阅读全文
摘要:习题地址 https://www.acwing.com/solution/acwing/content/2922/ 题目描述输入一个二叉树,将它变换为它的镜像。 样例 算法1基本上大部分树的问题都是要使用递归遍历解决(剑指OFFER和LEETCODE) 先写递归 在递归的返回路径上由下至上的交换左右
阅读全文
摘要:习题地址 https://www.acwing.com/solution/acwing/content/2921/ 输入一个整数数组,实现一个函数来调整该数组中数字的顺序。 使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分。 样例 算法1使用双指针 一个从前到后 一个从后到前遇到不符合
阅读全文
摘要:习题地址 https://www.acwing.com/solution/acwing/content/2919/. 题目描述给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1 的范围内。 数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。 请找出
阅读全文
摘要:习题地址 https://www.acwing.com/problem/content/description/73/ 题目描述输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。 为简单起见,标点符号和普通字母一样处理。 例如输入字符串”I am a student.”,则输出”stu
阅读全文
摘要:题目地址 https://www.acwing.com/solution/acwing/content/2896/ 题目描述输入一个整数 n ,求斐波那契数列的第 n 项。 假定从0开始,第0项为0。(n<=39) 样例 算法1动态规划入门题目状态转移dp[n] = dp[n-1] + dp[n-2
阅读全文
摘要:题目地址 https://www.acwing.com/problem/content/description/18/ 来源:剑指Offer 输入一个链表的头结点,按照 从尾到头 的顺序返回节点的值。 返回的结果用数组存储。 样例 题解: 将链表转换成vector 其实大量链表题目 如果允许的话 都
阅读全文
摘要:题目地址 https://www.acwing.com/problem/content/description/15/ 来源:剑指Offer 给定一个长度为 n+1n+1 的数组nums,数组中所有的数均在 1∼n1∼n 的范围内,其中 n≥1n≥1。 请找出数组中任意一个重复的数,但不能修改输入的
阅读全文
摘要:题目地址 https://www.acwing.com/problem/content/description/27/ 来源:剑指Offer 题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留。 样例 算法1这是投机取巧的做法在时间和空间不太要求的情况下可使用ST
阅读全文