Node strct
struct ListNode {
int val;
ListNode *next;
ListNode() : val(0), next(nullptr) {}
ListNode(int x) : val(x), next(nullptr) {}
ListNode(int x, ListNode *next) : val(x), next(next) {}
};
正序
ListNode* CreateListNodesAsc(std::vector& x)
{
ListNode *head=new ListNode;
ListNode *pre=head;
for(int i=0;inext=p;
pre=p;
}
return head->next;
}
倒序
ListNode* CreateListNodesDesc(std::vector& x)
{
ListNode *pre=new ListNode;
for(int i=0;ival=x[i];
continue;
}
ListNode *p=new ListNode(x[i]);
p->next=pre;
pre=p;
}
return pre;
}
代码示例
#include
#include
#include
#include
struct ListNode {
int val;
ListNode *next;
ListNode() : val(0), next(nullptr) {}
ListNode(int x) : val(x), next(nullptr) {}
ListNode(int x, ListNode *next) : val(x), next(next) {}
};
ListNode* CreateListNodesDesc(std::vector& x);
ListNode* CreateListNodesAsc(std::vector& x);
void ShowNodes(ListNode *p);
using namespace std;
int main()
{
vector x1={1,2,4};
vector x2={1,2,5,8};
ListNode *rx1=CreateListNodesAsc(x1);
ListNode *rx2=CreateListNodesDesc(x2);
ShowNodes(rx1);
cout<<"------------------------------"<>name;
}
ListNode* CreateListNodesAsc(std::vector& x)
{
ListNode *head=new ListNode;
ListNode *pre=head;
for(int i=0;inext=p;
pre=p;
}
return head->next;
}
ListNode* CreateListNodesDesc(std::vector& x)
{
ListNode *pre=new ListNode;
for(int i=0;ival=x[i];
continue;
}
ListNode *p=new ListNode(x[i]);
p->next=pre;
pre=p;
}
return pre;
}
void ShowNodes(ListNode *p)
{
while(p!=nullptr)
{
cout<val<next;
}
}