力扣_連結串列
阿新 • • 發佈:2022-03-07
刪除連結串列中的節點
/** *Definitionforsingly-linkedlist. *publicclassListNode{ *intval; *ListNodenext; *ListNode(intx){val=x;} *} */ //刪除node節點 //先將node節點的值程式設計node節點後面的值 //再將node節點的指向由其下一個變成它的下下一個 //總之就是將node節點的下一個元素的值和指向變成node的 classSolution{ publicvoiddeleteNode(ListNodenode){ node.val=node.next.val; node.next=node.next.next;刪除連結串列的倒數第N個節點
/** *Definitionforsingly-linkedlist. *publicclassListNode{ *intval; *ListNodenext; *ListNode(){} *ListNode(intval){this.val=val;} *ListNode(intval,ListNodenext){this.val=val;this.next=next;} *} */ //刪除倒數第n個節點,首先要判斷n與連結串列的長度大小 //如果n比連結串列長度大則返回null //如果n比連結串列長度小,則刪除的是正數(連結串列長度-n+1)個節點 classSolution{反轉連結串列
/** *Definitionforsingly-linkedlist. *publicclassListNode{ *intval; *ListNodenext; *ListNode(){} *ListNode(intval){this.val=val;} *ListNode(intval,ListNodenext){this.val=val;this.next=next;} *} */ //結合頭插法的方式 //讓連結串列的第一個節點指向新設的空指標節點 //讓空指標節點指向第一個節點 //第二個節點指向第一個節點 //迴圈往復classSolution{ publicListNodereverseList(ListNodehead){ ListNoderev=null; ListNodenode=head; while(node!=null){ ListNodenext=node.next; node.next=rev; rev=node; node=next; } returnrev; } }