反转(reverse)
字符串反转
StringBuffer(str).reverse().toString();
public static String reverse3(String s){ char[] array = s.toCharArray(); String reverse = ""; //新建空字符串for (int i = array.length - 1; i >= 0; i--) reverse += array[i]; return reverse; }
数组反转
ArrayList arrayList = new ArrayList();arrayList.add("A");arrayList.add("B");arrayList.add("C");arrayList.add("D");arrayList.add("E");System.out.println("反转前排序: " + arrayList);Collections.reverse(arrayList);System.out.println("反转后排序: " + arrayList);
链表反转
返回链表
public class Solution {public ListNode ReverseList(ListNode head) {if(head==null)return null;ListNode pre = null;ListNode next = null;
//并非新节点,没有new,只是两个指针//当前节点是head,pre为当前节点的前一节点,next为当前节点的下一节点
//需要pre和next的目的是让当前节点从pre->head->next1->next2变成pre<-head next1->next2
//即pre让节点可以反转所指方向,但反转之后如果不用next节点保存next1节点的话,此单链表就此断开了//所以需要用到pre和next两个节点//1->2->3->4->5//1<-2<-3 4->5while(head!=null){
//做循环,如果当前节点不为空的话,始终执行此循环,此循环的目的就是让当前节点从指向next到指向pre
//如此就可以做到反转链表的效果
//先用next保存head的下一个节点的信息,保证单链表不会因为失去head节点的原next节点而就此断裂next = head.next; 此为head.next节点重命名为next
//保存完next,就可以让head从指向next变成指向pre了,代码如下head.next = pre; 此为head 指向(.next) pre节点
//head指向pre后,就继续依次反转下一个节点//让pre,head,next依次向后移动一个节点,继续下一次的指针反转pre = head; 只有pre移到head,head才能向后移head = next;}//如果head为null的时候,pre就为最后一个节点了,但是链表已经反转完毕,pre就是反转后链表的第一个节点return pre;}
}
返回LinkedList
static LinkedList reverseLinkedList(LinkedList linkedList) {LinkedList<Object> newLinkedList = new LinkedList<>();for (Object object : linkedList) {newLinkedList.add(0, object);}return newLinkedList;
}
返回ArrayList
public class Solution {public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {ArrayList<Integer> list = new ArrayList();Stack<ListNode> stack = new Stack<>();if(listNode==null){return list; }while(listNode!=null){stack.push(listNode);listNode=listNode.next;}while(!stack.isEmpty()){list.add(stack.pop().val);}return list;}
}
反转(reverse)相关推荐
- 详解MySQL字符串函数重复REPEAT()、反转REVERSE()、格式化FORMAT()、返回空格SPACE()函数用法(四)
文章目录 一.重复函数REPEAT() 二.反转函数REVERSE() 三.格式化函数FORMAT() 四.反转函数SPACE() 前言:在实际的项目开发中有时会有对数据库某些字段去重等需求,这种场景 ...
- c++判断整数翻转溢出_LeetCode7.整数反转(Reverse Integer)
7. 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123输出: 321 示例 2: 输入: -123输出: -321 示例 3: 输入: 1 ...
- 回文串判断(string类:反转reverse)
2029-Palindromes _easy version Problem Description "回文串"是一个正读和反读都一样的字符串,比如"level" ...
- java字符串反转reverse();
package test1;/** 字符串反转的两种方法*/ public class TestReverse {public static void main(String[] args) {Str ...
- JAVA实现字符串反转(Reverse)的方法(没有最快,只有更快)
字符串反转在Java程序笔试面试中经常遇到,程序出了满足设计需要外,往往我们还要考虑到性能及内存相关的问题,如果考虑到性能和内存相关的问题,在笔试或面试中更容易赢得考官的青睐. 不多说,给出我这边实现 ...
- LeetCode 7. 整数反转 Reverse Integer 官网答案的条件判定的一点思考
关于solution中的公式不知道是否清楚,在刚开始看的时候认为条件之一应当是rev<(Integer.min-pop)/10这个条件,因为rev*10+pop>Integer.min时才 ...
- django 别名与命名空间 reverse反转得到路径
给路径起别名 通过name参数起别名 效果 通过别名index可以反向找到对应的路径 别名反转(视图) 在视图中通过别名得到对应的路径 一,导入函数 from django.shortcuts imp ...
- reverse(反转函数)
反转函数 #include<iostream> #include<algorithm> using namespace std;int main() {int a[100];c ...
- c++ reverse函数 反转
C++的库函数 reverse函数,无返回值 使用时包含头文件: #include<algorithm> 可以对数组.字符串.链表.vector容器等中的元素进行翻转操作. 可进行 区间反 ...
- leetcode541. 反转字符串 II
一:题目 二:上码 class Solution {public:string reverseStr(string s, int k) {for(int i = 0; i < s.size(); ...
最新文章
- linux tomcat端口冲突解决
- JAVA学习绘图颜色及其笔画属性设置字体显示文字
- iPhone拍人像,人头直接不见了,什么情况?
- vue父子组件、兄弟组件之间的通信和访问
- git clone 所有远程分支
- 简单的eda实验vga在linux系统中,EDA实验报告-VGA彩条显示.doc
- 安卓开发之android使用webview时按后退会退出而不是回退的问题
- Cadence 16 ( Allegro PCB ) 使用 Shape Symbol 制作不规则焊盘
- 《迷宫》之站立会议—5.16
- 黑苹果mac未能安装在你的电脑上_mac电脑上全新视频剪辑软件安装包分享,让你剪辑视频从此无忧!...
- [mock]10月4日
- 安卓java编译器_最方便的安卓手机端Java编译程序(支持中文字符串)
- 泰勒公式系列之二—完整公式推导
- 2013年度CSDN十大博客之星
- 2021年全球便携式电动车辆行业调研及趋势分析报告
- 相机靶面尺寸和视场角换算
- Windows DNS服务器的子网掩码排序
- C#WinForm应用程序——简易摇号系统
- 浏览器如何对SSL证书进行验证?
- Java中文乱码特殊字符解决方案