|  | @@ -0,0 +1,19 @@
 | 
	
		
			
				|  |  | +func reverseStr(s string, k int) string {
 | 
	
		
			
				|  |  | +	runes := []rune(s)
 | 
	
		
			
				|  |  | +	n := len(s)
 | 
	
		
			
				|  |  | +	beg, end := 0, k-1
 | 
	
		
			
				|  |  | +	for beg < n {
 | 
	
		
			
				|  |  | +		reverse(runes, n, beg, end)
 | 
	
		
			
				|  |  | +		beg, end = beg+2*k, end+2*k
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return string(runes)
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func reverse(runes []rune, n int, l int, r int) {
 | 
	
		
			
				|  |  | +	if n <= r {
 | 
	
		
			
				|  |  | +		r = n - 1
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	for ; l < r; l, r = l+1, r-1 {
 | 
	
		
			
				|  |  | +		runes[l], runes[r] = runes[r], runes[l]
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 |