摘要:
问题描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路 首先判断A和B的根是否相同,如果不同的话,将A的左子树和右子树再与B做判断;如果相同的话,则判断子树是否相同:比较每个节点,有一个不相同则不相同。代码如下: 阅读全文
摘要:
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路1 可以使用循环来做。首先要确定合并后链表的头。如果第一个链表为空,则合并后的链表就是第二个链表;同样地,如果第二个链表为空,则合并后的链表就是第一个链表;如果两个链表均不为空,则合并后的链表 阅读全文
摘要:
题目描述 输入一个链表,反转链表后,输出新链表的表头。 思路 一个比较经典的题目。要维护3个指针:当前结点的指针curNode、当前结点的前一个结点的指针preNode和当前结点的下一个结点的指针nextNode。首先使用nextNode保存curNode的下一个结点地址,不然链表会断掉,然后将cu 阅读全文
摘要:
题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路1 首先要判断链表中有没有环:可以利用两个指针,初始都在head,一个指针移动的比较快(一次移动两个节点),另一个指针移动的比较慢(一次移动一个节点),如果两个节点最终相遇了,则说明链表中存在环;如果快指针的下 阅读全文
摘要:
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 注:这个题在书中没有要求奇数和奇数,偶数和偶数之间的相对位置不变。 思路1 遍历整个数组,当遇到偶数时,将该偶数后面的数 阅读全文