golang 递归函数???

Yiuren · · 600 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

leetcode 59.螺旋的方式生成一个n*n的matrix Example: Input: 3 Output: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] ```golang func generateMatrix(n int) [][]int { matrix:=make([][]int,n) for i:=0;i<n;i++{ matrix[i]=make([]int,n) } helper(matrix,n,1,0,n-1,0,n-1) return matrix } func helper(matrix [][]int,n,index,row0,row1,column0,column1 int){ if index>n{ return } //上边 if row0 <= row1 && column0 <= column1{ for i:=column0;i<=column1;i++{ matrix[row0][i]=index index++ } } //右边 if column0 <= column1 && row0<row1{ for i:=row0+1;i<=row1;i++{ matrix[i][column1]=index index++ } } //下边 if row0 < row1 && column0 < column1{ for i:=column1-1;i>=column0;i--{ matrix[row1][i]=index index++ } } //左边 if row0<row1-1 && column0<column1{ for i:=row1-1;i>row0;i--{ matrix[i][column0]=index index++ } } //递归内层 helper(matrix,n,index,row0+1,row1-1,column0+1,column1-1) } ``` 我的运行结果是 [ [ 1, 2, 3 ], [ 8, 0, 4 ], [ 7, 6, 5 ] ]</br> debug过程中,发现在运行递归函数的时候报错,如下 ```text 报错: Exception 0xc000001d 0x0 0x0 0x4bd2ea PC=0x4bd2ea leetcode/leetcode59.helper(0xc0000a4000, 0x3, 0x3, 0x3, 0x9, 0x1, 0x1, 0x1, 0x1) D:/*/leetcode/leetcode59/leetcode59.go:29 +0x47a leetcode/leetcode59.helper(0xc0000a4000, 0x3, 0x3, 0x3, 0x9, 0x0, 0x2, 0x0, 0x2) D:/*/leetcode/leetcode59/leetcode59.go:63 +0x41b leetcode/leetcode59.generateMatrix(0x3, 0x0, 0x0, 0x0) D:/*/leetcode/leetcode59/leetcode59.go:25 +0x1c9 leetcode/leetcode59.Run() D:/*/leetcode/leetcode59/leetcode59.go:67 +0x46 main.main() D:/*/leetcode/main.go:6 +0x27 rax 0x1 rbx 0x8 rcx 0xc000038000 rdi 0xc000078140 rsi 0x3 rbp 0xc00009bd78 rsp 0xc00009bd00 r8 0x100 r9 0x7 r10 0x39 r11 0x0 r12 0x2030000 r13 0x49249249249249 r14 0x18 r15 0x7 rip 0x4bd2ea rflags 0x10203 cs 0x33 fs 0x53 gs 0x2b ``` 大佬帮忙看看这是哪里错了???

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

600 次点击  ∙  1 赞  
加入收藏 微博
2 回复  |  直到 2019-11-11 18:06:37
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传