給定值區分鍊錶

2021-10-02 18:53:40 字數 777 閱讀 1183

給乙個定值x,將鍊錶分為兩部分,小於x的放在左邊,大於x的放在右邊.

可設定兩個鍊錶分別為lefthead與lefttail,righthead與righttail用與儲存大於或小於x的值,最後在將兩個鍊錶連線起來即可

class

listnode

@override

public string tostring()

return sb.

tostring()

;}}public

class

partion

else

}else

else

} p=p.next;}if

(lefthead==null)

return righthead;

//左邊為空返回右邊

lefttail.next=righthead;

//連線左右兩節點

if(righttail!=null)righttail.next=null;

return lefthead;

}public

static

void

main

(string[

]args

;for

(int i=

0;ilistnode p1=

partition

(head,5)

; system.out.

println

(p1);}

}

刪除鍊錶中等於給定值val的所有節點

刪除鍊錶中等於給定值val的所有節點 例如 給出鍊錶1 2 3 3 4 5 3,和 val 3,你需要返回刪除3之後的鍊錶 1 2 4 5 way1 迭代 追加人為表頭 陷入沒有表頭的陷阱,總是想記下刪除節點的先驅,導致折騰了很久,其實只要人為加乙個表頭就簡單很多了!definition for s...

刪除鍊錶中給定值等於val的所有結點

刪除鍊錶中給定值等於val的所有結點 1.無頭結點,直接遍歷,刪除與val相等的結點 struct listnode struct listnode removeelements struct listnode head,int val else if head val val return hea...

刪除鍊錶中等於給定值 val 的所有節點。

採用快慢針的方法,listnode p指向鍊錶頭部,listnode q p.next。再定義乙個listnode start表示刪除指定val值後的頭結點,先賦值為p。結點的遍歷從q結點開始,當q.val不等於val時,p的下乙個結點指向q,並且p q同時向後移動,直至q null,表示遍歷鍊錶結...