Preview:
// 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
}
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter