def insertionSortList1(self, head: ListNode) -> ListNode: if not head: return head cur, nxt = head, head.next dummy = ListNode(float('-inf')) dummy.next = head while nxt: if nxt.val >= cur.val: cur, nxt = nxt, nxt.next else: cur.next = nxt.next pre1, pre2 = dummy, dummy.next while nxt.val > pre2.val: pre1, pre2 = pre2, pre2.next pre1.next = nxt nxt.next = pre2 nxt = cur.next return dummy.next
while head: l.append(head) head = head.next root = l.pop() head = root while l: head.next = l.pop() head = head.next head.next = None return root def reverseList(self, head: ListNode) -> ListNode: if not head: return [] pre = None cur = head while cur: temp = cur.next cur.next = pre pre = cur cur = temp return pre if __name__ == "__main__": a = Solution() l = ListNode([1, 2, 3, 4, 5]) # q = a.reverseList(l) print(l) # print(q)
break p1 = p1.next length += 1 return head def insertionSortList1(self, head: ListNode) -> ListNode: if not head: return head cur, nxt = head, head.next dummy = ListNode(float('-inf')) dummy.next = head while nxt: if nxt.val >= cur.val: cur, nxt = nxt, nxt.next else: cur.next = nxt.next pre1, pre2 = dummy, dummy.next while nxt.val > pre2.val: pre1, pre2 = pre2, pre2.next pre1.next = nxt nxt.next = pre2 nxt = cur.next return dummy.next if __name__ == "__main__": a = Solution() l = ListNode([4, 2, 1, 3]) print(l) print(a.insertionSortList(l))
from 链表类 import ListNode class Solution: def getDecimalValue(self, head: ListNode) -> int: ret = 0 if not head: return [] while head: if head.val == 0: head = head.next else: break while head: ret = ret << 1 ret += head.val head = head.next return ret if __name__ == "__main__": a = Solution() l = ListNode([1, 0, 1]) print(a.getDecimalValue(l))