1
インタラクティブな質問を解決しようとしています。私はその試みをしましたが、望みの結果を得られませんでした。値の周りにリンクされたリストをパーティション分割するx:コーディングを割るインタビューブック
class Node(object):
def __init__(self, val):
self.val = val
self.next = None
def Partition(head, x):
x_node = Node(x)
x_node.next = head
current = head
last = x_node
while current:
if current.val < x_node.val:
last = last.next
temp_val = current.val
current.val = last.val
last.val = temp_val
current = current.next
temp_val = last.val
last.val = x_node.val
x_node.val = temp_val
Partition(head,3)
Input: 1->4->3->2->5->2
Actual Output: 1->2->3->4->5->3
Expected Output: 1->2->2->3->4->5
ありがとうございます。
これは実際にソートするのか、それともパーティションに入れるのですか?予想される出力は4の前に3を置くでしょう。 – ShadowRanger
また、このコードはノードではなく値を入れ替えているので、おそらく運動の精神に違反しています。 Pythonでは、単一の値とノード参照を交換するのは同等のコストですが、リンクされたリストの全ポイントは、ノードリンクだけを変更することなくノードを再配置できるということです。 – ShadowRanger
@ShahdowRangerパーティション。また、2番目のコメントを例文で詳しく説明できますか?ありがとう! – deep