社区
Java SE
帖子详情
一道递归题 求解题过程
GALFORDD
2006-06-14 08:01:56
public void e(int x) {
System.out.print(x + " ");
if(x < 10) {
e(x + 3);
}
System.out.print(x + " ");
}
答案是 1 4 7 10 10 7 4 1
哪位高手解释一下?
...全文
194
4
打赏
收藏
一道递归题 求解题过程
public void e(int x) { System.out.print(x + " "); if(x < 10) { e(x + 3); } System.out.print(x + " "); } 答案是 1 4 7 10 10 7 4 1 哪位高手解释一下?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
GALFORDD
2006-06-14
打赏
举报
回复
多谢~~
UnAgain
2006-06-14
打赏
举报
回复
把程序这么一改就全明白了。
int i = 0;
StringBuffer tabs = new StringBuffer();
public void e(int x) {
i++;
tabs.append("\t");
System.out.println(tabs + "进入嵌套层 #" + i + " x = " + x);
if(x < 10) {
e(x + 3);
}
System.out.println(tabs + "离开嵌套层 #" + i + " x = " + x);
i--;
tabs.deleteCharAt(0);
}
kevinliuu
2006-06-14
打赏
举报
回复
用JB2006一步步跟踪得到的结果如下: 入参为1时
(为方便起见,将第一句打印语句叫print1(), 第二句打印语句叫print2();
print()1 --------1 (x=1时的调用)
1<10 ,调用e(4) (入参为4的调用)
print()1 --------4
4<10 ,调用e(7) (入参为7的调用)
print()1 --------7
7<10, 调用e(10) (入参为10的调用)
print()1 --------10
10==10 (不再调用e(10),而是往下走程序)
print()2 --------10 (e(10)的调用完全结束)
print()2 --------7 (e(7)的调用完全结束)
print()2 --------4 (e(4)的调用完全结束)
print()2 --------1 (e(1)的调用完全结束)
整个程序结束
笑看浮华2000
2006-06-14
打赏
举报
回复
调用函数e(1)的时候结果就如楼主那样的!因为这是一个递归的过程,第一句中你先输出了x的值,到第二句进行判断的时候,因为x为1时调用了e(4),所以输出1后就调用了e(4),再输出4后因为x比10还是小,所以再调用e(7),直到e(10)后,x等于10时程序就继续往下执行,先输出了10后再输出7,再输出4,最后再把1输出来,过程就是这样的了
最大公共字符串leetcode-leetcode:坚持每周刷
一道
LeetCode
题
接下来,坚持每周至少刷
一道
LeetCode
题
,刷
题
顺利按照牛客网LeetCode经典
题
目顺序进行,记录解
题
思路,与大家共享,同时也做个自我监督 第一周 1、树
题
目: Given a binary tree, find its minimum depth.The ...
leetcodepython039-Programming-Practice:Leetcode&&剑指Offer&&牛客网
在解
题
的
过程
中会参考一些资料,难以面面俱到的写出参考信息,如若侵权,请联系删除。 代码思路的github连接: Leetcode
题
号
题
目&&
题
解 c++ python 难度 26 easy 80 easy 66 easy 118 easy 119 easy 88 easy 1 ...
PHP
递归
创建多级目录(
一道
面试
题
的解
题
过程
)
今天看到
一道
面试
题
,要写出一个可以创建多级目录的函数: 我的第一个感觉就是用
递归
创建,具体思路如下: function Directory($dir){ if(is_dir($dir) || @mkdir($dir,0777)){ //查看目录是否已经存在...
[
递归
]
递归
问
题
解
题
思路
递归
解
题
三部曲 何为
递归
?程序反复调用自身即是
递归
。 我自己在刚开始解决
递归
问
题
的时候,总是会去纠结这一层函数做了什么,它调用自身后的下一层函数又做了什么…然后就会觉得实现一个
递归
解法十分复杂,根本就...
PHP
递归
创建多级目录(
一道
面试
题
的解
题
过程
)(转)
今天看到
一道
面试
题
,要写出一个可以创建多级目录的函数: 我的第一个感觉就是用
递归
创建,具体思路如下: function Directory($dir){ if(is_dir($dir) || @mkdir($dir,0777)){ //查看目录是否已经...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章