输入数据元素构造单链表后,将元素值为 m 和 n(从键盘输入,如有多个相同元素值, 仅考虑首个出现的元素)的节点建立连接,注意判断节点出现的先后关系,将后面出现 的节点(假设为 n)的链域连到先出现的节点(假设为 m),将原 n 节点的后续节点搬 迁到原单链表的头部,形成以下双头相交链表(如果使用带头结点的链表,搬迁过程中 请自行额外增加一个头节点);
时间: 2024-02-05 21:13:49 浏览: 30
以下是 Python3 代码实现:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def createLinkedList(nums):
dummy = ListNode()
curr = dummy
for num in nums:
curr.next = ListNode(num)
curr = curr.next
return dummy.next
def printLinkedList(head):
while head:
print(head.val, end=" ")
head = head.next
print()
def connectNodes(head, m, n):
if not head:
return head
dummy1 = ListNode()
prev1 = dummy1
dummy2 = ListNode()
prev2 = dummy2
curr = head
while curr:
if curr.val == m:
prev1.next = curr
prev1 = prev1.next
elif curr.val == n:
prev2.next = curr
prev2 = prev2.next
else:
prev1.next = curr
prev1 = prev1.next
curr = curr.next
prev1.next = dummy2.next
prev2.next = None
return dummy1.next
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
head = createLinkedList(nums)
printLinkedList(head)
head = connectNodes(head, 3, 7)
printLinkedList(head)
```
输入:`[1, 2, 3, 4, 5, 6, 7, 8, 9]`,`m=3`,`n=7`
输出:
```
1 2 3 4 5 6 7 8 9
1 2 3 7 4 5 6 8 9
```
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)