LeetCode题解(八)0700-0799

1 3

In the example above, if we want to search the value 5, since there is no node with value 5, we should return NULL.

Note that an empty tree is represented by NULL, therefore you would see the expected output (serialized tree format) as [], not null.

[Answer]

Runtime: 0 ms, faster than 100.00% of Java online submissions for Search in a Binary Search Tree.

Memory Usage: 38.2 MB, less than 99.82% of Java online submissions for Search in a Binary Search

/**

  • Definition for a binary tree node.

  • public class TreeNode {

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

*/

class Solution {

public TreeNode searchBST(TreeNode root, int val) {

if (root == null)

return root;

if (root.val == val)

return root;

else if (val < root.val)

return searchBST(root.left, val);

else

return searchBST(root.right, val);

}

}

709. To Lower Case

[Description]

Implement function ToLowerCase() that has a string parameter str, and returns the same string in lowercase.

[Example]

Example 1:

Input: “Hello”

Output: “hello”

Example 2:

Input: “here”

Output: “here”

Example 3:

Input: “LOVELY”

Output: “lovely”

[Answer]

Runtime: 0 ms, faster than 100.00% of Java online submissions for To Lower Case.

Memory Usage: 34.1 MB, less than 99.91% of Java online submissions for To Lower Case.

class Solution {

public String toLowerCase(String str) {

return str.toLowerCase();

}

}

Runtime: 0 ms, faster than 100.00% of Java online submissions for To Lower Case.

Memory Usage: 34 MB, less than 99.91% of Java online submissions for To Lower Case.

class Solution {

public String toLowerCase(String str) {

char[] arrayChar = str.toCharArray();

for (int i = 0; i < arrayChar.length; i++) {

if (arrayChar[i] >= ‘A’ && arrayChar[i] <= ‘Z’)

arrayChar[i] += 32;

}

return new String(arrayChar);

}

}

class Solution {

public String toLowerCase(String str) {

StringBuilder sb = new StringBuilder();

for (char c : str.toCharArray()) {

if ((c - 0) >= 65 && (c - 0) <= 90) {

sb.append(Character.toChars(c + 32));

} else {

sb.append©;

}

}

return sb.toString();

}

}

728. Self Dividing Numbers

[Description]

A self-dividing number is a number that is divisible by every digit it contains.

For example, 128 is a self-dividing number because 128 % 1 == 0, 128 % 2 == 0, and 128 % 8 == 0.

Also, a self-dividing number is not allowed to contain the digit zero.

Given a lower and upper number bound, output a list of every possible self dividing number, including the bounds if possible.

Example 1:

Input:

left = 1, right = 22

Output: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]

Note:

The boundaries of each input argument are 1 <= left <= right <= 10000.

[Answer]

Runtime: 7 ms, faster than 13.00% of Java online submissions for Self Dividing Numbers.

Memory Usage: 36.2 MB, less than 33.49% of Java online submissions for Self Dividing Numbers.

class Solution {

public List selfDividingNumbers(int left, int right) {

List list = new ArrayList();

while (left <= right) {

if (isSelfNumber(left))

list.add(left);

left++;

}

return list;

}

private boolean isSelfNumber(int num) {

if (num < 1)

return false;

if (num < 10)

return true;

String str = num + “”;

if (str.contains(“0”))

return false;

for (char c : str.toCharArray()) {

int n = Integer.parseInt(“” + c);

if (num % n != 0)

写在最后

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。

最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

【Android核心高级技术PDF文档,BAT大厂面试真题解析】

【算法合集】

【延伸Android必备知识点】

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
ndroid核心高级技术PDF文档,BAT大厂面试真题解析】**

[外链图片转存中…(img-pp1SjiN1-1715722770430)]

【算法合集】

[外链图片转存中…(img-Drhbn3ef-1715722770432)]

【延伸Android必备知识点】

[外链图片转存中…(img-SY9BRZ58-1715722770433)]

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值