剑指offer 第七天
JZ19 顺时针打印矩阵
题目描述:
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
解法思路:
这道题刚开始自己一看,就是想着设置一些索引位置,按照索引位置打印来打印不就行了。后来再认真读题,发现它输入的二维矩阵大小是变化的,不是固定大小,才发现自己的想法太native
。
看了下讨论区,发现只是需要确定几个固定位置的索引值,便可以不管输入矩阵的大小,自适应的便能够确定顺时针打印每个位置的索引,然后再根据这个索引来打印矩阵就行,还真是巧妙。其实在确定好几个顶点的位置,也就相当于确定了方向,然后不管是顺时针还是逆时针,下次都可以方便的解题了。
1 |
|
代码测试:
1 |
|
JZ38 二叉树的深度
题目描述:
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
解法思路:
1 |
|
代码测试:
1 |
|
JZ60 把二叉树打印成多行
题目描述:
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
解法思路:
1 |
|
代码测试:
1 |
|
剑指offer 第七天
https://crisescode.github.io/blog/2020/07/19/剑指offer-第七天/