offer16专题

剑指Offer16翻转链表

题目: 定义一个函数,输入一个链表的头结点,翻转该链表并输出翻转后链表的头结点。 分析: 这个题刚看的时候可能会和之前遇到的逆序输出链表差不多,不过在那个题目中并没有改变链表的指针,而是通过增加空间来进行逆序输出的,还记得怎么做吗?当然就是增加一个n长度的栈。当然如果题目要求中是可以改变链表的,并且只允许增加常数的空间,那么就和这个题目是一样的解决方法了。 那看这个题怎么解吧! 用

剑指Offer16——合并两个排序的链表

/*合并两个排序的链表* * 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。* * * 递归* 如果表1当前值小于表2当前值,表1当前值成为新链表的表头,否则返回表2的当前值作为新链表的表头。* * */class ListNode {int val;ListNode next = null;ListNode(int val) {this.val =