页面顶部 Top
文件:  root - text - article - 2019 - 10 - reverse-a-linked-list.txt
标签: 每日算法题, 算法, 数据结构, 面试题, Daily Problem, Data Structures and Algorithms, | 英文 | 主页 | 类别: 计算机科学 | 358 次阅读, 18474 次搜索 | 149 个单词

定阅此目录的博客 | 浏览 | 博客存档
Hi, here's your problem today. This problem was recently asked by Google:

Given a singly-linked list, reverse the list. This can be done iteratively or recursively. Can you get both solutions?

Example:
Input: 4 - 3 - 2 - 1 - 0 - NULL
Output: 0 - 1 - 2 - 3 - 4 - NULL


class ListNode(object):
def __init__(self, x):
self.val = x
self.next = None

# Function to print the list
def printList(self):
node = self
output = ''
while node != None:
output += str(node.val)
output += " "
node = node.next
print(output)

# Iterative Solution
def reverseIteratively(self, head):
# Implement this.

# Recursive Solution
def reverseRecursively(self, head):
# Implement this.

# Test Program
# Initialize the test list:
testHead = ListNode(4)
node1 = ListNode(3)
testHead.next = node1
node2 = ListNode(2)
node1.next = node2
node3 = ListNode(1)
node2.next = node3
testTail = ListNode(0)
node3.next = testTail

print("Initial list: ")
testHead.printList()
# 4 3 2 1 0
testHead.reverseIteratively(testHead)
#testHead.reverseRecursively(testHead)
print("List after reversal: ")
testTail.printList()
# 0 1 2 3 4
标签: 每日算法题, 算法, 数据结构, 面试题, Daily Problem, Data Structures and Algorithms, | 英文 | 主页 | 类别: 计算机科学 | 358 次阅读, 18474 次搜索 | 149 个单词 定阅此目录的博客

猜您喜欢...

  1. Algorithm Interview: Lowest Common Ancestor of 2 Nodes in Binary Tree
  2. Binary Tree Level with Minimum Sum
  3. Fibonacci coding
  4. Delphi Dynamic Array
  5. Fix Brackets
  6. Find Missing Numbers in an Array
  7. Daily Interview Problem: Spiral Traversal of Grid
  8. Daily Interview Problem: Distribute Bonuses
  9. Daily Interview Problem: Jump to the End
  10. Palindrome Integers

评论 (0)

    当前页暂时没有评论。


最后更新: October 30 2020 14:21:12 | RSS Subscription
牛排怎么做才好吃? | <meta name="机器人" content="不索引, 跟踪" />