LeetCode题解(十)0900-0999,android开发入门和实战

Note:

The number of nodes in the tree is at most 10000.

The final answer is guaranteed to be less than 2^31.

[Answer]

Runtime: 1 ms, faster than 61.11% of Java online submissions for Range Sum of BST.

Memory Usage: 43.5 MB, less than 99.80% of Java online submissions for Range Sum of BST.

/**

  • Definition for a binary tree node.

  • public class TreeNode {

  • int val;
    
  • TreeNode left;
    
  • TreeNode right;
    
  • TreeNode(int x) { val = x; }
    
  • }

*/

class Solution {

public int rangeSumBST(TreeNode root, int L, int R) {

int sum = 0;

if(root.val >= L && root.val <= R)

sum += root.val;

if (root.left != null)

sum += rangeSumBST(root.left, L, R);

if (root.right != null)

sum += rangeSumBST(root.right, L, R);

return sum;

}

}

Input:

[15,9,21,7,13,19,23,5,null,11,null,17]

19

21

Expect:40

/**

  • Definition for a binary tree node.

  • public class TreeNode {

  • int val;
    
  • TreeNode left;
    
  • TreeNode right;
    
  • TreeNode(int x) { val = x; }
    
  • }

*/

class Solution {

public int rangeSumBST(TreeNode root, int L, int R) {

int sum = 0;

if(root.val >= L && root.val <= R)

sum += root.val;

if (root.left != null) {

if (root.left.val == L)

sum += root.left.val;

else

sum += rangeSumBST(root.left, L, R);

}

if (root.right != null) {

if (root.right.val == R)

sum += root.right.val;

else

sum += rangeSumBST(root.right, L, R);

}

return sum;

}

}

942. DI String Match

[Description]

Given a string S that only contains “I” (increase) or “D” (decrease), let N = S.length.

Return any permutation A of [0, 1, …, N] such that for all i = 0, …, N-1:

If S[i] == “I”, then A[i] < A[i+1]

If S[i] == “D”, then A[i] > A[i+1]

Example 1:

Input: “IDID”

Output: [0,4,1,3,2]

Example 2:

Input: “III”

Output: [0,1,2,3]

Example 3:

Input: “DDI”

Output: [3,2,0,1]

Note:

1 <= S.length <= 10000

S only contains characters “I” or “D”.

[Answer]

Runtime: 70

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值