过程
一面过了一天就是二面,本来还想着二面会进一步考一些Android知识,就把Android绘制流程什么的都看了一遍,没想到二面聊会天之后纯考的算法orz,实在不擅长算法,虽然现在还没通知,但应该是凉了。
面试题目
首先是聊了聊简历上写的项目,差不多十几分钟吧,然后是算法题,全是手撕代码。如果我写得快的话,应该会问三道,但是我写太慢了,两道以后直接结束了。
- 链表反转
public static void main (String[] args) {
Node head = new Node("a"); //一个具有三个节点的链表
Node n1 = new Node("b");
Node n2 = new Node("c");
head.setNext(n1); //设置节点指向情况
n1.setNext(n2);
n2.setNext(null);
Node current = reverse(head); //反转后的头结点
while (current != null) {
System.out.println(current.getContent());
current = current.getNext();
}
}
private static Node reverse(Node head) {
if (head == null || head.getNext() == null)
return head;
Node pre = head;
Node curr = head.getNext();