public static ListNode mergeList(ListNode list1,ListNode list2){
		if(list1==null){
			return list2;
		}else if(list2==null){
			return list1;
		}
		
		ListNode head=null,last=null;
		ListNode tmp=null;
		while(list1!=null && list2!=null){
			if(list1.data<=list2.data){
				tmp=list1;
				list1=list1.next;
			}else{
				tmp=list2;
				list2=list2.next;
			}
			
			tmp.next=null;
			if(last==null){
				head=tmp;
				last=tmp;
			}else{
				last.next=tmp;
				last=last.next;
			}
		}
		
		if(list1!=null){
			last.next=list1;
		}
		
		if(list2!=null){
			last.next=list2;
		}
		
		return head;
	}