摘要:
题目描述输入两棵二叉树A和B,判断B是不是A的子结构。二叉树结点的定义如下:题目分析剑指Offer(纪念版)P117代码实现第一步,在树A中查找与根结点的值一样的结点,这实际上就是树的遍历。先序遍历:bool HasSubtree(BinaryTreeNode* pRoot1, BinaryTree... 阅读全文
摘要:
题目描述输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。例如输入图3.7中的链表1和链表2,则合并之后的升序链表如链表3所示。链表结点定义如下:题目分析剑指Offer(纪念版)P114代码实现ListNode* Merge(ListNode* pHead1, ListN... 阅读全文
摘要:
题目描述定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。链表结点定义如下:题目分析剑指Offer(纪念版)P112代码实现ListNode* ReverseList(ListNode* pHead){ ListNode* pReversedHead = NULL; ... 阅读全文
摘要:
题目描述输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个结点是值为4的结点。题目分析剑指Offer(纪念版)P107代码实现ListNod... 阅读全文
摘要:
数组面试题3:二维数组中的查找 面试题8:旋转数组的最小数字 面试题14:调整数组顺序使奇数位于偶数前面 面试题20:顺时针打印矩阵 面试题29:数组中出现次数超过一半的数字 面试题30:最小的k个数 面试题31:连续子数组的最大和 面试题33:把数组排成最小的数 面试题36:数组中的逆序对 面试题... 阅读全文