外贸网站建设内容包括哪些,水果网站建设,wordpress 4.9.6 zh,东莞横沥镇地图IList 接口#xff1a;
IList 是一个接口#xff0c;定义了一种有序集合的通用 API。继承自 ICollection 接口和IEnumerableT#xff0c;是所有泛型列表的基接#xff0c;口它提供了对列表中元素的基本操作#xff0c;如添加、删除、索引访问等。IList 不是一个具…IList 接口
IList 是一个接口定义了一种有序集合的通用 API。继承自 ICollection 接口和IEnumerableT是所有泛型列表的基接口它提供了对列表中元素的基本操作如添加、删除、索引访问等。IList 不是一个具体的集合类而是一组实现了该接口的类的通用接口。
实例化
既然IList是接口就不能用new关键字去直接实例化但是可以用多态的方式去实例化也就是用其子类List去实例化。 IListstring Ilist1new Liststring() (①) 与 Liststring list1new Liststring() (②)
①与②区别 ①创建了一个list但是这个list只能用到IList接口中规定那些方法因为这些方法在List类型中实现了的所以可以用。 ②也创建了一个list,这个list可以用List类型中实现的所有方法当然包括IList规定的那些
推荐使用① 因为在面向对象的思想里推荐使用接口可以实现松耦合有很好的扩展性功能与具体实现很好的分离开有利于系统的维护与重构。
List 类
List 是 System.Collections.Generic 命名空间中的一个具体实现类实现了 IList 接口。List 是动态数组它自动扩展以容纳任意数量的元素。List 提供了对元素的高效访问和操作支持索引、添加、删除、搜索等操作。
题解
DFS递归的方式层次遍历
使用递归的方式进行深度优先搜索。DFS 方法接受两个参数当前节点 root 和当前节点所在的层级 level。如果当前节点为空直接返回。如果 res 中的列表数量小于当前层级level 1说明当前层的列表还没有创建因此添加一个新的空列表。将当前节点的值加入到 res 中对应层级的列表中。递归调用 DFS 处理左子树和右子树层级加 1。
/*** Definition for a binary tree node.* public class TreeNode {* public int val;* public TreeNode left;* public TreeNode right;* public TreeNode(int val0, TreeNode leftnull, TreeNode rightnull) {* this.val val;* this.left left;* this.right right;* }* }*/
public class Solution {public ListListint res new ListListint();public IListIListint LevelOrder(TreeNode root) {if(root null)return res.ToArray();DFS(root,0);return res.ToArray();}private void DFS(TreeNode root, int level){if(root null)return;if(res.Count level 1){res.Add(new Listint());}res[level].Add(root.val);DFS(root.left, level 1);DFS(root.right, level 1);}
}