struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){
if(list1==NULL)
return list2;
if(list2==NULL)
return list1;
if(list1->val < list2->val)
{
list1->next = mergeTwoLists(list1->next,list2);
return list1;
}
else
{
list2->next = mergeTwoLists(list1,list2->next);
return list2;
}
}
本来由于不太理解力扣的答题模式所以无从下手,多次出现编译错误,于是就去看了题解,发现了一个大佬居然想到了递归的方法,所以就利用了递归的思路对本题进行了解答。
876.链表的中心结点
这道题感觉python 更好用一点,但是整体思路都是一样的,就是先知道链表长度,然后整除即可
class Solution:
def middleNode(self, head: ListNode) -> ListNode:
l=0
p=head
while p:
l+=1
p=p.next
while(head and l//2):
head=head.next
l-=2
return head
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)