Algorithms

LetCode algorithms implementation on Golang

List Algorithms

package list contains algorithm using list as main data structure

Linked List

includes implementation of Linked List

	dll := linkedlist.NewDoubleLinkedList[int]()
	for _, v := range []int{1, 3, 5, 6} {
		dll.Add(v) // add a new val
	}
	iter := dll.Iterator() //get DoubleLinkedList iterator
	result := make([]string, 0)
	for iter.HasNext() {
		v := iter.Next()
		result = append(result, strconv.FormatInt(int64(v), 10))
	}
	fmt.Println(strings.Join(result[:], ", "))
	// Output: 1, 3, 5, 6

Collections

Ordered Map

	om := collections.NewOrderedMap[string, int]()
	for _, v := range []int{1, 3, 5, 6} {
		om.Set(strconv.FormatInt(int64(v), 10), v) // add new element to the OrderedMap
	}
	iter := om.Iterator() //get OrderedMap iterator
	result := make([]string, 0)
	for iter.HasNext() {
		kv := iter.Next()
		result = append(result, kv.Key)
	}
	fmt.Println(strings.Join(result[:], ", "))
	// Output: 1, 3, 5, 6

GitHub

View Github