乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范。从小白开始逐步掌握用编程解决问题。
PAT (Basic Level) Practice 1025 反转链表
问题分析
- 题设给定一个链表头, 总节点个数, 反转长度, 要求按照指定方式反转链表。
- 指定反转方式为: 按照给定的反转长度将链表分组, 反转每一组里的元素(如果最后一组元素不足则不反转)
- 注意, 需要每一组反转后的末尾元素连接下一组反转后的首个元素。
- 由于该题是通过输入校验, 所以如果在考试中, 为了追求更快获得正确解, 可以选择直接按照指定方式输出各个节点信息的方式。
- 比如: 将各个链表元素按照连接顺序放入连续的数组中, 然后按照划分反转好每一个元素, 最后直接按照要求输出。
完整描述步骤
- 获取输入: 链表头节点地址, 总节点个数, 分组长度
- 按照链表连接顺序, 将各个节点放入连续数组中, 并计算链表长度
- 按照指定分组长度划分排列的数组, 对于每一个满足长度要求的分组:
- 反转数组的元素
- 按照反转后的数组顺序输出各个节点的地址, 数据以及节点所在位置的