剑指offer
li_zi_ang1354
这个作者很懒,什么都没留下…
展开
-
从尾到头打印链表
思路:是用栈结构,利用先进后出的特性。 /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), next(NULL) { * } * }; */ class Solution { publ原创 2018-01-13 14:12:05 · 125 阅读 · 0 评论 -
输入一个链表,输出该链表中倒数第k个结点
题目描述输入一个链表,输出该链表中倒数第k个结点。思路:两个指针p 和q,q先走k个位置,然后p q一起走,当q到达末尾节点时,p为倒数第k个节点/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { publ原创 2018-01-18 14:35:19 · 182 阅读 · 0 评论 -
输入两个链表,找出它们的第一个公共结点。
题目描述输入两个链表,找出它们的第一个公共结点。思路:首先两个单链表有公共节点时只可能为“Y”结构,不可能为“X”结构,因为一个链表结构只能有一个next指针,而不可能指向node节点。让长的链表先走,然后两个一起走,直到相等。/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), n原创 2018-01-18 15:13:37 · 433 阅读 · 0 评论