[英]Elements are not inserting properly while creating a linked list in c#
對於單鏈表,我有這樣的節點結構。
public class ListNode {
public int val;
public ListNode next;
public ListNode(int val=0, ListNode next=null) {
this.val = val;
this.next = next;
}
}
我正在嘗試創建一個喜歡的列表
//requiredDigit = 123456
ListNode finalNode = new ListNode();
for(int i=0; i < requiredDigit.Length; i++){
finalNode.val = requiredDigit[i] - '0';
finalNode.next = new ListNode();
}
每當我嘗試這種方法時,列表都被創建為60 ,第一個元素就被遺漏了。
這里的問題是您沒有移動到鏈表鏈中的下一個節點。 目前您的解決方案不會更改finalNode
的值; 它停留在同一個實例上,沒有任何進展,所以你最終只是覆蓋了起始節點。 val
值從 1 到 2 再到 3,等等,但都在同一個節點中。
這是一個潛在的解決方案。 我敢肯定有一個更優雅的,但這行得通:
ListNode startNode = null, finalNode = null, iterNode;
for(int i=0; i < requiredDigit.Length; i++)
{
if (startNode == null)
{
startNode = new ListNode(requiredDigit[i] - '0');
finalNode = head;
}
else if (finalNode.next == null)
{
finalNode.next = new ListNode(requiredDigit[i] - '0');
finalNode = finalNode.next;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.