轻松搞定面试中的链表题目.docx

轻松搞定面试中的链表题目链表结点声明如下:struct?ListNode{? ? intm_nKey;? ? ListNode * m_pNext;};题目列表:1.?求单链表中结点的个数2. 将单链表反转3. 查找单链表中的倒数第K个结点(k 0)4. 查找单链表的中间结点5. 从尾到头打印单链表6.?已知两个单链表pHead1 和pHead2 各自有序,把它们合并成一个链表依然有序7. 判断一个单链表中是否有环8. 判断两个单链表是否相交9. 求两个单链表相交的第一个节点10. 已知一个单链表中存在环,求进入环中的第一个节点11. 给出一单链表头指针pHead和一节点指针pToBeDeleted,O(1)时间复杂度删除节点pToBeDeleted详细解答1.?求单链表中结点的个数这是最最基本的了,应该能够迅速写出正确的代码,注意检查链表是否为空。时间复杂度为O(n)。参考代码如下:?[cpp]?view plaincopy//?求单链表中结点的个数??unsigned?int?GetListLength(ListNode?*?pHead)??{??????if(pHead?==?NULL)??????????return?0;????????unsigned?int?nLength?=?0;??????ListNode?*?pCurrent?=?pHead;??????whi

文档评论(0)

1亿VIP精品文档

相关文档