美文网首页
关于临时变量

关于临时变量

作者: Jocelyn_b0e1 | 来源:发表于2019-04-11 20:06 被阅读0次

剑指Offer23题:

package Offer;

import java.util.ArrayList;

public class Offer23_FindPath {
    ArrayList<Integer> list = new ArrayList<>();
    ArrayList<ArrayList<Integer>> result = new ArrayList<>();
    public static void main(String[] args){
        TreeNode t1 = new TreeNode(10);
        TreeNode t2 = new TreeNode(5);
        TreeNode t3 = new TreeNode(12);
        TreeNode t4 = new TreeNode(4);
        TreeNode t5 = new TreeNode(7);
        t1.addLeft(t1,t2);
        t1.addRight(t1,t3);
        t2.addLeft(t2,t4);
        t2.addRight(t2,t5);

        Offer23_FindPath o1 = new Offer23_FindPath();
        o1.FindPath(t1,22);
    }
    public ArrayList<ArrayList<Integer>> FindPath(TreeNode root, int target) {
        if (root==null){
            return result;
        }
        list.add(root.val);
        target-=root.val;
        if (target==0 && root.right==null && root.left==null){
            result.add(new ArrayList<Integer>(list));
          //  result.add(list);
        }
        FindPath(root.left,target);
        FindPath(root.right,target);
        list.remove(list.size()-1);
        return result;

    }
    
}

对于以下这两句代码:

result.add(new ArrayList<Integer>(list));
result.add(list);

第一种写法,在堆中新建了一个新的ArrayList,原来的list中的值改变后,result中的值不变。
第二种写法,原来的list中的值改变后,result中的值也会改变。

相关文章

  • 关于临时变量

    剑指Offer23题: 对于以下这两句代码: 第一种写法,在堆中新建了一个新的ArrayList,原来的list中...

  • JavaScript语法基础

    一、关于变量(1) 什么是变量变量 Variable ,描述了程序中临时存储数据的容器 原生 中,有两种方式可以创...

  • 面试简述

    关于iOS面试常见问题总结: 1.算法:Leetcode,剑指offer系列 交换两个变量的值(如果不使用临时变量...

  • C 语言实例12 - 交换两个数的值

    使用临时变量交换两个数的值 不使用临时变量交换两个数的值

  • shell-1.变量使用方法

    shell有两类变量,临时变量和永久变量。 临时变量:是shell程序内部定义的,其使用范围仅限于定义它的程序,对...

  • 重新组织函数 - Splite Temporarily Vari

    简述 Splite Temporarily Variable(分解临时变量)指你的程序有某个临时变量被赋值超过一次...

  • 模块包含方法

    添加临时环境变量

  • Stata--临时变量

    临时变量本质是一个暂元,仅在执行程序时存入内存中,当程序执行完毕变自动删除。在实际应用中,当我们要产生一些不用以直...

  • 在for循环中, 大量创建相同的临时变量的问题

    在for循环中, 大量创建相同的临时变量的问题 在for循环中创建临时变量, 由于变量只有离开作用域的时候才会被释...

  • 《重构》阅读记录

    重新组织函数 提炼函数 内联函数 内联临时变量 引入解释性变量 分解临时变量 移除对参数的赋值 以函数对象替换函数...

网友评论

      本文标题:关于临时变量

      本文链接:https://www.haomeiwen.com/subject/eqgxwqtx.html