私は、Javaですでにソートされている2つのリンクリストをマージするコードを開発しました。
次のことについてサポートが必要です。
- tempNodeを使用せずにマージされたリストのヘッドノードの値を保持するにはどうすればよいですか?
このコードをより適切に最適化できますか?
public static ListNode mergeSortedListIteration(ListNode nodeA, ListNode nodeB) { ListNode mergedNode ; ListNode tempNode ; if (nodeA == null) { return nodeB; } if (nodeB == null) { return nodeA; } if ( nodeA.getValue() < nodeB.getValue()) { mergedNode = nodeA; nodeA = nodeA.getNext(); } else { mergedNode = nodeB; nodeB = nodeB.getNext(); } tempNode = mergedNode; while (nodeA != null && nodeB != null) { if ( nodeA.getValue() < nodeB.getValue()) { mergedNode.setNext(nodeA); nodeA = nodeA.getNext(); } else { mergedNode.setNext(nodeB); nodeB = nodeB.getNext(); } mergedNode = mergedNode.getNext(); } if (nodeA != null) { mergedNode.setNext(nodeA); } if (nodeB != null) { mergedNode.setNext(nodeB); } return tempNode; }