Java 学习记录2

最近觉得recursion 还是要多多锻炼才行啊。要不然就跪了。

记住先考虑 base case: 对于base case 需要考虑返回null 和null的情况。例如:
    isSamTree 
        public boolean isSameTree(TreeNode p, TreeNode q) {
        if (p==null&&q==null) return true;
        if (p==null||q==null) return false;  两种情况都要考虑,否则就出错了,成为死循环
        boolean left=isSameTree(p.left,q.left);
        boolean right=isSameTree(p.right,q.right);
        if(left && right && (p.val==q.val)) return true;
        else return false;




java函数的值传递的理解:
通过引用来维护object,由于传递是值传递,那么相当于copy了一份引用,我觉得本质就是如果method中有buffer = new object();存在,那么就会只改变新的object的值,而不改变真正的object的值。要解决这个问题:一种方案是利用 数组,传递的时候传递一个只有一个元素的数组来解决问题。例子:http://developer.51cto.com/art/201103/251163.htm 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值