2つの秩序あるチェーンテーブルを新しい秩序あるチェーンテーブルに統合する

1277 ワード

この問題のやり方は同時に2つのチェーンテーブルを遍歴して、誰が現在のデータが小さいか、尾挿法を使ってこのノードを新しいチェーンテーブルに挿入して、最後に長いチェーンテーブルの残りの数をチェーンテーブルに挿入します
 public Node mergeTwoLists(Node l1,Node l2){
		  if (l1 == null) return l2;
	        if (l2 == null) return l1;
	        Node result = null;
	        Node last = null;
	        Node cur1 = l1;
	        Node cur2 = l2;
	        
	        while (cur1 != null && cur2 != null) {
	            if (cur1.val <= cur2.val) {
	                Node next = cur1.next;
	                
	                if (result == null) {
	                    result = cur1;
	                } else {
	                    last.next = cur1;
	                }
	                last = cur1;
	                
	                cur1 = next;
	            } else {
	                Node next = cur2.next;
	                
	                if (result == null) {
	                    result = cur2;
	                } else {
	                    last.next = cur2;
	                }
	                last = cur2;
	                
	                cur2 = next;
	            }
	        }
	        
	        if (cur1 != null) {
	            last.next = cur1;
	        } else {
	            last.next = cur2;
	        }
	        
	        return result;
	 }