Perform Partial Reversal in golanf

PHOTO EMBED

Wed Oct 30 2024 03:59:23 GMT+0000 (Coordinated Universal Time)

Saved by @manasm11 #go #golang

// ReversePartial reverses a portion of a slice in place from start to end (-1 for end of list) indices.
func ReversePartial[T any](arr []T, start, end int) error {
	if end == -1 {
		end = len(arr) - 1
	}
	// Validate indices
	if start < 0 || end >= len(arr) || start >= end {
		return fmt.Errorf("Invalid start or end indices")
	}

	for start < end {
		arr[start], arr[end] = arr[end], arr[start] // Swap elements
		start++
		end--
	}
	return nil
}
content_copyCOPY