打印两个有序链表的公共部分
- head1<head2 head1向前移动
- head1>head2 head2向前移动
- head1 = head2 添加head1到结果集 head1和head2 都向前移动
public void printCommonpart(ListNode list1,ListNode list2)
{
while(list1!=null&&list2!=null){
if(list1.val<list2.val)
{
list1 =list1.next;
}
else if(list1.val>list2.val)
{
list2 = list2.next;
}
else{
System.out.println(list1.val);
list1 = list1.next;
list2 = list2.next;
}
}
}
删除单链表中的第K个节点
public ListNode removeLastKthNode(ListNode list,int k) {
ListNode tmp = list;
ListNode head = new ListNode();
ListNode res = head;
head.next = list;
while(k>0)
{
tmp = tmp.next;
k--;
}
while(tmp!=null)
{
tmp = tmp.next;
list = list.next;
head = head.next;
}
head.next = head.next.next;
return res.next;
}