Algorithm
题目描述
输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)
代码:
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {
if(pHead1 == null || pHead2 == null){
return null;
}
ListNode p1 = pHead1;
ListNode p2 = pHead2;
while(p1 != p2){
if(p1 == null){
p1 = pHead2;
}else {
p1 = p1.next;
}
if(p2 == null){
p2 = pHead1;
}else {
p2 = p2.next;
}
}
return p1;
}
}
Review
The Android Lifecycle cheat sheet — part II: Multiple activities
本文介绍了多个Activity在跳转、屏幕选择以及后台杀死应用的情况下的生命周期
Tips
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(url));
startActivity(intent);
设备1(海外手机、Android 10系统):
若url为"https://twitter.com",应该会直接跳转到浏览器上的Twitter主页,但是实际上他会再从浏览器跳转到Twitter App,将域名改为facebook并没有出现这个情况,因此判断这个现象应该是手机对Twitter做了兼容
并且发现,若url的是"https://twitter.app.link",会直接跳转Twitter客户端,正常情况下应该是需要使用自定义的Scheme才可以直接跳转到第三方App,但是https协议也可以跳转到Twitter应用就比较奇怪,后面有机会再研究一下是如何实现的。
设备2(大陆手机、Android 6系统):
不会出现跳转应用的情况,需使用setPackage()设置包名方可跳转到应用
因此目前不清楚二者的区别是Android系统导致还是海外手机作了特殊处理 ,先记录一下,后面再进行考证。
Share
分享一篇Android开发规范的文章:Android 代码规范大全
这篇文章介绍了一些工具规范、命名规范、注释规范等,比较适合新人阅读。