struct ListNode* next; ListNode(int x) : val(x), next(NULL){ } }; 基本操作 1. 创建单链表 后面的操作均在其基础上进行修改 步骤: 创建头节点head,并且将当前结点p指向头结点(p=head) 创建下一个结点q,当前结点p的下一结点为q(p->next=q) 结点p后移一位(p = p->next) #include <iostream>...
2015-03-03 16:34 −单链表的反转是常见的面试题目。本文总结了2种方法。 1 定义 单链表node的数据结构定义如下: class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null; } } ... BYRHuangQiang 7 61753
} ListNode 是一个数据类型,定义: structListNode{intval;//当前节点的值ListNode* next;//指向下一个节点的指针//初始化构造函数,与结构体同名的定义函数,特殊的成员函数ListNode(intx):val(x),next(NULL){} };
* ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ classSolution{ public: ListNode*reverseList(ListNode*head) { if(head==NULL||head->next==NULL) { returnhead; } ListNode*cur=reverseList(head->next); head->next->next=head; head->next=NULL; returncur; } }...
node1->next=NULL; 1. 2. 3. 这部分我们可以封装一个函数来实现! SListNode*BuySListNode(SLTDataTypex)//x代表该节点val的值 { SListNode*newnode=(SListNode*)malloc(sizeof(SListNode)); if(newnode==NULL) { printf("malloc fail\n"); ...
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 2. 题解 publicclassSolution22{publicstaticclassListNode{intval;ListNodenext;ListNode(intx){val=x;next=null;}}publicListNodegetIntersectionNode(ListNodeheadA,ListNodeheadB){// 判断...
* struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ //简单的方法使用哈希表,但是内存占了n,进阶可以用快慢指针,当指针相遇时,慢指针移到头部,一起继续走,注意快指针此时也改成一步,当再次相遇时就是环的入口。 class Solution { public: ...
{n2->next=n1;//迭代的条件n1=n2;n2=n3;if(n3!=NULL){n3=n3->next;}}returnn1;}voidlist_print(structListNode*phead){structListNode*cur=phead;while(cur){printf("%d->",cur->val);cur=cur->next;}printf("\n");}intmain(){structListNode*n1=(structListNode*)malloc(sizeof(structListNode)...
* class ListNode { * int val; * ListNode next; * ListNode(int val) { * this.val = val; * } * } */ class Solution { public ListNode mergeTwoLists(ListNode list1, ListNode list2) { ListNode node = new ListNode(-1); // 创建一个临时节点作为结果链表的头节点 ListNode cur = node;...
intFac(intn){ if(n==0||n==1){ return1; }else returnn*Fac(n-1); } 7.链表法 structListNode{ int val; structListNode*next; }; //链1 p1=(structListNode*)malloc(sizeof(structListNode)); p1->val=n[0]; p1->next=NULL;