描述
反转一个单链表。
进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
解题思路
递归和迭代,熟悉指针操作的话不难。迭代用头插法即可翻转链表。
独立思考,以行践言
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
进阶:你能尝试使用一趟扫描实现吗?
数值练习中有类似的题目,使用双指针,两个指针直接间隔n个元素即可在一趟扫描中完成删除。有点卡壳的地方在处理头节点被删除的问题上,后来想到了用头指针指向头节点避免了过多的if else 判断。
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。
刚到手觉得题目有问题,输入值是节点本身却不提供头节点或上一个节点。点开评论区,看到有评论说复制下一个节点的值给自己才想到可以复制下一个节点然后删除下一个节点的操作。
给定一个正整数 n ,输出外观数列的第 n 项。
「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。
你可以将其视作是由递归公式定义的数字字符串序列: