合并两个排序的链表,从尾到头打印链表,用两个栈实现队列
一.合并两个排序的链表
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的
解决方案:新建两个节点,一个用于记录开始位置,一个用于移动排序
ListNode help=new ListNode();//新建节点,用于移动排序,相当于一个中间变量
ListNode end=help;//记录开始位置
while(l1!=null&&l2!=null)//如果l1和l2都不为空,执行比较
{
if(l1.val<l2.val)
{
help.next=l1;
l1=l1.next
}else{
help.next=l2;
l2=l2.next;
}
help=help.next;
}
help.next=l1!=null?l1:l2;
return end.next;
二.从尾到头打印链表
输入一个链表的头节点,从尾到头用数组返回节点值
解决方案:
1.首先计算出链表的长度,定义一个数组,然后遍历链表倒序存放到数组中
int length=0;
while(head!=null)
{
length++

浙公网安备 33010602011771号