/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) : val(x), next(nullptr) {}
* };
*/
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param arr int整型vector
* @return ListNode类
*/
ListNode* vectorToListnode(vector<int>& arr) {
// write code here
ListNode*head=nullptr;
ListNode*tail=nullptr;//定义头尾指针,这样不需要每次插入都遍历一次链表
for(int i=0;i<arr.size();i++){//插入arr.size个元素
auto p=new ListNode(arr[i]);//创建新结点
if(!head)//如果链表是空表
{
head=p;//将新结点赋给head
}
else {
tail->next=p;//否则将tail的指针指向新结点
}
tail=p;//将尾指针更新为新结点
}
return head;//返回头指针
}
};