私はコンピュータ科学のバックグラウンドを持っていません。私は自分でコーディングを学ぼうとしていますが、私はLeetCodeの問題を解決することによってそれをやっています。
とにかく、リンクされたリストを使用する際に問題があります。そして、私は既にPhythonでリンクリストをシミュレートしなければならないという情報を発見しました。私の問題は、本当にリンクされたリストの後ろにあるものを得ることができないということです。例えば、それらが対象としている問題の種類は?
一般的にどのようにリンクされたリスト機能。そのような情報のリンクは本当に役に立つでしょう。
私がLeetCodeを見ている最近の問題は、2つの隣接ノードを交換してその頭を返すように求めています。 LeetCodeは次のようなソリューションを提供しています。リンクされたリストの仕組みは?
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def swapPairs(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
pre = self
pre.next = head
while pre.next and pre.next.next:
a = pre.next
b = a.next
pre.next =b
b.next =a
a.next =b.next
pre = a
return self.next
私が言ったように、私はこの解決策を理解していません。私は、リスト2-> 1-> 4-> 3を返すべきリストリスト1-> 2-> 3-> 4を使用しようとしました。 私が管理したのは、ループを1回だけ通過させ、ループですが、どうなりますか?最後の2つの番号はどのように切り替わりますか?リストに2つの要素しかない場合、このコードはどのように動作しますか?私には不可能です。
このようなことを説明するオンライン資料に私を誘導することができれば、私は最も感謝しています。
ありがとうございました。
リンクありがとうございました。それは多くの助けとなりました。少なくとも今、私はそれの後ろにあることを知っています。 – Lexa