基本数据结构与算法问题
2016-09-19 17:00 shuaihanhungry 阅读(218) 评论(0) 编辑 收藏 举报链表
- 输入一个链表的头结点,从尾到头反过来打印出每个结点的值。
- 给定单向链表的头指针和一个结点指针,定义一个函数在O(1)的时间删除该结点。
- 输入一个链表,输出该链表中倒数第k个节点。
- 求链表的中间结点。
- 给出两个单向链表的头指针pHead1和pHead2,判断这两个链表是否相交。假设两个链表均不带环。
- 给出一个单向链表的头指针pHead,判断链表中是否有环。
- 给出两个单向链表的头指针pHead1和pHead2,判断这两个链表是否相交,若相交返回第一个相交的节点。假设两个链表均不带环。
- 给出一个单向链表的头指针pHead,判断链表中是否有环,若存在,则求出进入环中的第一个节点。
- 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的节点。
- 输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。
- [0,n - 1]这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。
- 实现一个函数复制复杂链表,复杂链表中,每个节点除了有一个m_pNext指针指向下一个节点,还有一个m_pSibling指针指向链表中的任意节点或者NULL。
树
- 输入一棵二叉树的根节点,求该树的深度。
- 输入一棵二叉树的根节点,判断该树是不是平衡二叉树。
- 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。
- 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。
参考:《剑指Offer》、经典面试题:链表的相交与环问题。