左耳听风ARTS第十五周

Algorithms

206. Reverse Linked List
Reverse a singly linked list.

Example:

Input: 1->2->3->4->5->NULL
Output: 5->4->3->2->1->NULL

Solution 1—— 递归解决,重点是要理解引用的使用。

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode reverseList(ListNode head) {
        ListNode newHead = null;
        return reverse(head,newHead);
    }
    
    private ListNode reverse(ListNode head,ListNode newHead){
        if(head == null){
            return newHead;
        }
        ListNode next = head.next;
        head.next = newHead;
        newHead = head;
        return reverse(next,newHead);
    }
}

Solution 2——循环解决

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode reverseList(ListNode head) {
        ListNode newHead = null;
        while(head != null){
            ListNode next = head.next;
            head.next = newHead;
            newHead = head;
            head = next;
        }
        return newHead;
    }
}

Review

The Two Types of Programmers
1、世界上只有20%的程序员是领导者,开拓者。
2、80%的程序员都是软件开发公司的螺丝钉。

Tips

网络基础知识协议——数据中心
1、接入层、汇聚层和核心层三层数据中心结构
在这里插入图片描述
为了高可用,汇聚和接入交换机是互连模式。核心和汇聚交换机之间为了高可用,也是互连模式。怎么解决环路的问题呢?有两种方式。
一种方式:不同的可用区在不同的二层网络,需要分配不同的网段。汇聚和核心之间通过三层网络互通,二层都不在一个广播里面,不会存在二层环路的问题。三层有环是没有问题的,可以通过路由协议OSPF选择最佳的路径就可以了。
另一种方式就是大二层数据中心结构。
2、大二层数据中心结构
在这里插入图片描述
大二层引入了多链接透明互联协议(TRILL)。它的基本思想是,二层环有问题,三层环没有问题,那就把三层的路由能力模拟在二层实现。运行TRILL协议的交换机称为RBridge,是具有路由转发特性的网桥设备,只不过这个路由是根据MAC地址来的,不是根据IP来的。
在这里插入图片描述
3、垂直结构的数据中心网络和扁平结构的数据中心网络
在这里插入图片描述
在这里插入图片描述
叶脊网络结构
叶子交换机:直接连接物理服务器。L2/L3网络的分界点在叶子交换机上,叶子交换机之上是三层网络。
脊交换机:相当于核心交换机。叶脊之间通过ECMP动态选择多条路径。
传统的三层网络架构是垂直的结构,而叶脊网络架构是扁平的结构,更易于水平扩展。

Share

装饰者模式的一点理解。

猜你喜欢

转载自blog.csdn.net/wuweiwoshishei/article/details/88561454