摘要:
RMI介绍 远程方法调用(RMI)顾名思义是一台机器上的程序调用另一台机器上的方法。这样可以大致知道RMI是用来干什么的,但是这种理解还不太确切。RMI是Java支撑分布式系统的基石,例如著名的EJB组件。RMI是远程过程调用(RPC)的一种面向对象实现,RMI底层是通过socket通信和对象序列化 阅读全文
摘要:
题目:输入两颗二叉树A,B,判断B是不是A的子结构。 思路:题目的意思就是判断B是不是A的一部分,B是不是A的子树。遇到二叉树的问题首先想到用递归来解决。首先需要找个树A的一个节点p,使得p和B的头结点的值相等,然后判断p的左子树是不是等于B的左子树,p的右子树是不是等于B的右子树,如果相等说明B是 阅读全文
摘要:
题目:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:题目相对简单,有两个思路,一个是遍历两个链表的公共长度,按值的大小把各个节点连接起来,最后把较长链表的剩余部分追加到最后。第二个思路,这个类似于自然合并排序,可以使用递归分治的思想来解决问题,还 阅读全文
摘要:
题目:输入一个链表,反转链表后,输出链表的所有元素。 思路:这个题目是一个很经典的链表操作题目,涉及很多链表指针操作,考验代码功底。因为是单向链表,如果按照最普通的思路来解和求链表中的倒数第k个节点一样,会有许多不必要的遍历。那么就需要在指针操作上想办法。下面是一个比较好的解决思路: 首先需要设置4 阅读全文
摘要:
题目: 输入一个链表,输出该链表中倒数第k个结点。 思路: 因为是单向链表,如果使用最普通的遍历来解决的话会多出很多不必要的遍历。有一个比较好的解法,设置两个指针两个指针之间差k-1个位置,也就是当后面的指针遍历到链表尾部的时候前面的指针正好是链表的倒数第K个节点。这样就能提高程序的效率,简化思路。 阅读全文
摘要:
题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路: 这道题首先就能想到一个思路,运用快速排序的思想,设置前后两个指针,分别从数组的前后两端开始遍历,前指针遇到 阅读全文