Java算法之输出“菱形”
导语:今天和同事聊天,他提到一道面试题,题目大体是,使用控制台输出一个菱形(边长相等),并且每行都是奇数个,怎么写?
首先要审题,1、控制台输出菱形 2、每行是奇数个。
*
***
*****
*******
*********
***********
*********
*******
*****
***
*
上图是需要输出的结果。
分析:如何构建一个菱形?
大体上分3步:
第一步:画出一个直角的梯形:
******
*******
********
*********
**********
***********
************
*************
**************
***************
****************
第二步:把该梯形的右下“脚”去掉!
******
*******
********
*********
**********
***********
**********
*********
********
*******
******
第三步:将左边的部分*替换成空格:
*
***
*****
*******
*********
***********
*********
*******
*****
***
*
通过以上三步即可构造成一个菱形,问题解决。
下面说一下具体的思路。
第一步的实现:
这一步其实很简单,