有序链表相减问题:
package org.jyjiao;
import java.util.*;
public class SubLinkList {
/*
* 算法思想: 在java中LinkedList的存储结构是链表形式的;插入或删除某个节点开销比较小
* while(!(直到ListA或者ListB到达链尾)){ 如果ListA的元素小于ListB的元素,ListA向后遍历;
* 如果ListA的元素大于ListB的当前元素,ListB向后遍历;
* 如果ListA的元素等于ListB的当前元素,ListA中删除该元素,ListA继续向后遍历 }
*
*/
public void subLink(LinkedList<Integer> listA, LinkedList<Integer> listB) {
Iterator<Integer> iterA = listA.iterator();
Iterator<Integer> iterB = listB.iterator();
int a = iterA.next().intValue();
int b = iterB.next().intValue();
while (true) {
if (a < b) {
while (a < b && iterA.hasNext()) {
a = iterA.next().intValue();
}
if (a < b) {
break;
}
} else if (a == b) {
while (a == b && iterA.hasNext()) {
iterA.remove();
a = iterA.next()