mirror of
https://github.com/krahets/hello-algo.git
synced 2025-07-14 19:41:41 +08:00
add remaining code for Array and LinkedList
This commit is contained in:
47
codes/javascript/include/ListNode.js
Executable file
47
codes/javascript/include/ListNode.js
Executable file
@ -0,0 +1,47 @@
|
||||
/**
|
||||
* File: ListNode.js
|
||||
* Created Time: 2022-12-12
|
||||
* Author: IsChristina (christinaxia77@foxmail.com)
|
||||
*/
|
||||
|
||||
/**
|
||||
* Definition for a singly-linked list node
|
||||
*/
|
||||
class ListNode {
|
||||
val;
|
||||
next;
|
||||
constructor(val, next) {
|
||||
this.val = (val === undefined ? 0 : val);
|
||||
this.next = (next === undefined ? null : next);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a linked list with an array
|
||||
* @param arr
|
||||
* @return
|
||||
*/
|
||||
arrToLinkedList(arr) {
|
||||
let dum = new ListNode(0);
|
||||
let head = dum;
|
||||
for (const val of arr) {
|
||||
head.next = new ListNode(val);
|
||||
head = head.next;
|
||||
}
|
||||
return dum.next;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a list node with specific value from a linked list
|
||||
* @param head
|
||||
* @param val
|
||||
* @return
|
||||
*/
|
||||
getListNode(head, val) {
|
||||
while (head !== null && head.val !== val) {
|
||||
head = head.next;
|
||||
}
|
||||
return head;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = ListNode
|
Reference in New Issue
Block a user