Zigzag Iterator 解答
Question
Given two 1d vectors, implement an iterator to return their elements alternately.
For example, given two 1d vectors:
v1 = [1, 2]
v2 = [3, 4, 5, 6]
By calling next repeatedly until hasNext returns false, the order of elements returned by next should be: [1, 3, 2, 4, 5, 6].
Follow up: What if you are given k 1d vectors? How well can your code be extended to such cases?
Solution
This solution is suitable for k vectors.
 public class ZigzagIterator {
     private List<Iterator> list;
     public ZigzagIterator(List<Integer> v1, List<Integer> v2) {
         list = new ArrayList<Iterator>();
         if (v1.iterator().hasNext())
             list.add(v1.iterator());
         if (v2.iterator().hasNext())
             list.add(v2.iterator());
     }
     public int next() {
         Iterator<Integer> current = list.remove(0);
         int result = current.next();
         if(current.hasNext())
             list.add(current);
         return result;
     }
     public boolean hasNext() {
         return list.size() > 0 ? true : false;
     }
 }
 /**
  * Your ZigzagIterator object will be instantiated and called as such:
  * ZigzagIterator i = new ZigzagIterator(v1, v2);
  * while (i.hasNext()) v[f()] = i.next();
  */
Zigzag Iterator 解答的更多相关文章
- 281.	Zigzag Iterator
		题目: Given two 1d vectors, implement an iterator to return their elements alternately. For example, g ... 
- [Locked] Zigzag Iterator
		Zigzag Iterator Given two 1d vectors, implement an iterator to return their elements alternately. Fo ... 
- Zigzag Iterator II
		Description Follow up Zigzag Iterator: What if you are given k 1d vectors? How well can your code be ... 
- [LeetCode] Zigzag Iterator 之字形迭代器
		Given two 1d vectors, implement an iterator to return their elements alternately. For example, given ... 
- Zigzag Iterator
		Given two 1d vectors, implement an iterator to return their elements alternately. For example, given ... 
- LeetCode Zigzag Iterator
		原题链接在这里:https://leetcode.com/problems/zigzag-iterator/ 题目: Given two 1d vectors, implement an iterat ... 
- [LeetCode#281] Zigzag Iterator
		Problem: Given two 1d vectors, implement an iterator to return their elements alternately. For examp ... 
- [Swift]LeetCode281. 之字形迭代器 $ Zigzag Iterator
		Given two 1d vectors, implement an iterator to return their elements alternately. For example, given ... 
- 281. Zigzag Iterator z字型遍历
		[抄题]: Given two 1d vectors, implement an iterator to return their elements alternately. Example: Inp ... 
随机推荐
- 深入了解Json转变为map的思想,附源代码2
			最近在做一个投票情况的用例,返回的结果打算放到JSON中 数据库的结果集如上图所示:optionkey代表选项,optionval代表其值 第一次做的时候考虑应该键值对应的关系,所以前台接到的json ... 
- membership source code
			You can find their source code in codeplex at the ASP.NET source code. ExtendedMembershipProvider: h ... 
- Spring3 MVC 之 Hello Word
			开发工具: MyEclipse 10.0 项目目录: [http://www.cnblogs.com/rhythmK/] 1.新建项目:File->New->Web Project 项 ... 
- [RxJS] Reactive Programming - Clear data while loading with RxJS startWith()
			In currently implemention, there is one problem, when the page load and click refresh button, the us ... 
- Android--获取当前系统的语言环境
			private boolean isZh() { Locale locale = getResources().getConfiguration().locale; St ... 
- CentOS6.6(单用户模式)重设root密码
			1.开机时手要快按任意键,因为默认时间5s 2.grub菜单,只有一个内核,没什么好上下选的,按e键.不过如果你升级了系统或安装了Xen虚拟化后,就会有多个显示了. 3.接下来显示如下,选择第二项,按 ... 
- Samba通过ad域进行认证并限制空间大小《转载》
			本文实现了samba服务被访问的时候通过windows域服务器进行用户名和密码验证;认证通过的用户可以自动分配500M的共享空间;在用户通过windows域登陆系统的时候可以自动把这块空间映射成一块硬 ... 
- IOS6和IOS7的屏幕适配问题
			自从IOS7出来以后,以前写在IOS6上或者更低版本的程序,跑在IOS7的模拟器上就会出现一些问题.最大的问题就是,所有的UI空间都会统一向上移动20个点(如果空间的y值为0,就会被StatusBar ... 
- HSSFClientAnchor(int dx1,int dy1,int dx2,int dy2,short col1,int row1,short col2, int row2)
			public HSSFClientAnchor(int dx1, int dy1, int dx2, int dy2, short col1, int row1, short col2, int ... 
- C# Linq Group By 多个字段并返回给实体类List
			using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace stud ... 
