public class ListNode
{
public int val;
public ListNode next;
public ListNode(int val = 0, ListNode next = null)
{
this.val = val;
this.next = next;
}
}
public class ListListNodeConversion
{
#region List集合转换为ListNode
public static ListNode ListToListNode(List<int> list)
{
if (list == null)
{
return null;
}
ListNode head = null, tail = null;
foreach (var t in list)
{
if (head == null)
{
head = tail = new ListNode(t);
}
else
{
tail.next = new ListNode(t);
tail = tail.next;
}
}
return head;
}
#endregion
#region ListNode转换为List
public static List<int> ListNodeToList(ListNode listNode)
{
if (listNode == null)
{
return null;
}
var list = new List<int>();
ListNode tail = listNode;
while (tail != null)
{
list.Add(tail.val);
tail = tail.next;
}
return list;
}
#endregion
}
var list = new List<int> { 1, 2, 3, 4, 5, 6 };
var nodeList = ListListNodeConversion.ListToListNode(list);
var list1 = ListListNodeConversion.ListNodeToList(nodeList);