`
hcx2013
  • 浏览: 88856 次
社区版块
存档分类
最新评论

list.remove(list.size()-1);

 
阅读更多

Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum.

For example:
Given the below binary tree and sum = 22,

              5
             / \
            4   8
           /   / \
          11  13  4
         /  \    / \
        7    2  5   1

return

[
   [5,4,11,2],
   [5,8,4,5]
]


/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
	public List<List<Integer>> pathSum(TreeNode root, int sum) {
		List<List<Integer>> res = new ArrayList<List<Integer>>();
		List<Integer> list = new ArrayList<Integer>();
		solve(root, sum, res, list);
		return res;
	}

	private void solve(TreeNode root, int sum, List<List<Integer>> res,
			List<Integer> list) {
		if (root == null) {
			return;
		}
		list.add(root.val);
		sum -= root.val;
		if (root.left == null && root.right == null) {
			if (sum == 0) {
				res.add(new ArrayList<Integer>(list));
			}
		} else {
			if (root.left != null) {
				solve(root.left, sum, res, list);
			}
			if (root.right != null) {
				solve(root.right, sum, res, list);
			}
		}
		list.remove(list.size()-1);
	}
}
 
0
2
分享到:
评论

相关推荐

    删除List中的重复值

    删除List中的重复值 方法一:循环元素删除 ... i &lt; list.size() - 1 ; i ++ ) { for ( int j = list.size() - 1 ; j &gt; i; j -- ) { if (list.get(j).equals(list.get(i))) { list.remove(j); } } }

    VC.design.array.remove.list.rar_vc list

    1. **动态数组**:传统的C++数组在声明时就需要确定大小,并且一旦定义,其大小无法改变。而`std::vector`是C++ STL提供的一种动态数组,可以在运行时动态调整大小,方便地添加或删除元素。 2. **std::vector**:`...

    【IT十八掌徐培成】Java基础第10天-03.List-集合框架-ArrayList.zip

    - `remove(int index)`: 删除指定索引的元素,其余元素向前移动。 - `size()`: 返回ArrayList中元素的数量。 - `clear()`: 移除所有元素,使ArrayList变为空。 - `indexOf(Object o)`: 查找指定元素的第一个出现...

    list的正确remove姿势

    mList.add(1); mList.add(2); mList.add(3); mList.add(4); mList.add(5); /** * 正常删除 */ for (int i = 0; i &lt; mList.size(); i++) { if (mList.get(i).equals(3)) { mList.remove(i); } } ...

    1.类集-introdute.doc

    list.remove("Welcome"); list.add("World"); list.add("aaa"); list.add("bbb"); for (int i = 0; i &lt; list.size(); i++) { System.out.println(list.get(i)); } System.out.println(list.indexOf("World...

    _Java-集合容器-2.List及其实现类.ppt

    i &lt; list.size(); i++) { System.out.println(list.get(i) + " "); } Iterator&lt;Integer&gt; it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } Collections.sort(list); // 对列表...

    esri-leaflet.rar

    myMarker._icon.classList.remove('rotate'); }, 3000); ``` 通过这种方式,我们可以结合Esri Leaflet和Leaflet的基本功能,创建具有个性化外观和动态效果的Marker,提升地图的视觉吸引力和交互性。 总结来说,...

    java ArrayList.remove()的三种错误用法以及六种正确用法详解

    if (list.remove(new Long(1L))) { // 元素已删除 } else { // 元素不存在 } ``` 4. **正确用法4 - 使用`List.removeIf(Predicate&lt;? super E&gt; predicate)`** Java 8引入的`removeIf()`方法可以简洁地删除...

    List用法汇总.zip

    my_list.remove("Element1") # 通过对象移除 my_list.pop(0) // 通过索引移除,默认移除最后一个 ``` 4. **访问元素**: - 通过索引访问元素,如 `myList[0]` 在 Python 和 Java 中都可实现。 - Java 中,`get...

    Java 实例 - List 循环移动元素源代码+详细指导教程.zip

    i &lt; list.size(); i++) { String element = list.get(i); if ("B".equals(element)) { list.remove(i); // 删除元素 list.add(0, element); // 将元素移到开头 i--; // 调整索引,因为元素位置改变 } } ```...

    java计算同一个list中是否有相同的值

    if ((list2.size() + 1) &gt; 1) { // 如果有重复项 num = Math.max(num, list2.size() + 1); // 更新最大重复次数 } } System.out.println(num); if (num &gt; 1) { System.out.println("存在" + num + "个重复项...

    java的list取之方法

    int size = list.size(); // 清空列表 list.clear(); ``` ### 高级特性 #### 1. 子列表 ```java // 获取子列表 List&lt;String&gt; subList = list.subList(0, 3); ``` #### 2. 排序 ```java // 自然排序 ...

    JAVA中List的增删改查

    - `remove(index)` 方法:根据索引移除元素,如 `list.remove(1)`,这会删除索引1处的元素。 - `remove(Object o)` 方法:根据对象引用移除第一个匹配的元素,如 `list.remove(new Integer(5))`,这会删除值为5的...

    php.ini-development

    1. SAPI module specific location. ; 2. The PHPRC environment variable. (As of PHP 5.2.0) ; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) ; 4. Current working directory (except ...

    JavaList.rar_javalist

    int listSize = myList.size(); ``` 列表排序,如果元素是可比较的,可以使用`Collections.sort(List&lt;T&gt; list)`: ```java Collections.sort(myList); ``` `List`接口还有许多其他方法,如`set(int index, E ...

    数据结构-列表(List)介绍和Java示例代码

    3. 删除元素:`list.remove(1);` 4. 判断是否包含指定元素:`if (list.contains("Orange")) { ... }` 5. 获取列表大小:`System.out.println("Size of the List: " + list.size());` 6. 获取/修改指定位置上的元素:...

    Sakemail

    :)26/3/981.6.1- Added a FUNCFileName private variable to manage the complete path of the attached file. I receive problems reports with this, it work now ?.- Reduced the line sleep to 30 (tell me if ...

    BURNINTEST--硬件检测工具

    1) Uninstall any previous version of BurnInTest 2) Double click (or Open) the downloaded ".exe" file 3) Follow the prompts UnInstallation ============== Use the Windows control panel, Add / Remove ...

    LeetCode最全代码

    27 | [Remove Element](https://leetcode.com/problems/remove-element/) | [C++](./C++/remove-element.cpp) [Python](./Python/remove-element.py) | _O(n)_ | _O(1)_ | Easy || 31 | [Next Permutation]...

    list常用方法

    int size = list.size(); ``` `size()`方法返回`List`中的元素数量,即`List`的大小。 #### 3. 添加元素 ```java list.add(e); ``` `add(e)`方法将指定元素`e`添加到列表的末尾。如果成功添加,则返回`true`。 ```...

Global site tag (gtag.js) - Google Analytics