Python 데이터 구조의 반전 링크
샘플:링크 1->2->3->null 을 드 립 니 다.이 뒤 집 힌 링크 는 3->2->1->null 입 니 다.
비교적 간단 한 방법 은 적출 법 을 사용 하 는 것 이다.먼저 빈 노드 를 새로 만 든 다음 에 전체 링크 를 옮 겨 다 니 며 옮 겨 다 니 는 노드 로 하여 금 새 링크 의 머리 노드 를 가리 키 게 하 는 것 이다.
그런 예 로 말 하면 절 차 는 이렇다.
1.새 빈 노드:없 음
2. 1->None
3. 2->1->None
4. 3->2->1->None
코드 는 매우 간단 합 니 다.
"""
Definition of ListNode
class ListNode(object):
def __init__(self, val, next=None):
self.val = val
self.next = next
"""
class Solution:
"""
@param head: The first node of the linked list.
@return: You should return the head of the reversed linked list.
Reverse it in-place.
"""
def reverse(self, head):
temp = None
while head:
cur = head.next
head.next = temp
temp = head
head = cur
return temp
# write your code here
물론 조금 어 려 운 해법 도 있다.우 리 는 링크 의 노드 에 대해 체인 과 링크 를 순서대로 떼 는 방법 으로 제자리 에서 뒤 집 히 는 코드 를 쓸 수 있다.
"""
Definition of ListNode
class ListNode(object):
def __init__(self, val, next=None):
self.val = val
self.next = next
"""
class Solution:
"""
@param head: The first node of the linked list.
@return: You should return the head of the reversed linked list.
Reverse it in-place.
"""
def reverse(self, head):
if head is None:
return head
dummy = ListNode(-1)
dummy.next = head
pre, cur = head, head.next
while cur:
temp = cur
#
pre.next = cur.next
cur = pre.next
temp.next = dummy.next
dummy.next = temp
return dummy.next
# write your code here
주의해 야 할 것 은 체인 을 풀 때 떼 어 낸 곳 을 다시 연결 하 는 것 을 잊 지 말 아야 한 다 는 것 이다.읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.